0

我有一个填充了表名的列表框。我希望能够单击列表框中的一行并返回该表中的所有记录并绑定到 datagridview。使用良好的老式 SQL 是小菜一碟。尝试对 Entity Framework 4.3.1 做同样的事情是另一回事。

例如,有没有办法在下面的代码中将“get_picklist_names_v”表示为变量?

static class EfHelper
{
    public static EfEntities CreateContext()
    {
        EfEntities context = new EfEntities();
        return context;
    }
}

using (var context = EfHelper.CreateContext())
{
    IList list = context.get_picklist_names_v.ToList();

    lboPicklist.DataSource = list;
    lboPicklist.DisplayMember = "name";
}
4

2 回答 2

0

实体框架用类型抽象了 SQL 的东西,并尽其所能,因此您不必为每种服务器类型(Oracle、SQL Server、MySQL 等)编写 sql。这就是 ORM 的作用......

如果您习惯于泛型类型,那么对 Entity Framework 做同样的事情就很简单了。

这不是您要寻找的东西,但也许您可以从以下文章中找到一些提示:

带有实体框架的存储库模式

于 2012-12-16T21:01:33.500 回答
0

实体框架不是实现这一目标的最佳工具。您可以尝试Entity Sql,但问题是为了以动态方式使用它,您必须在IEnumerable<DbDataRecord>. ADataGridView不会这样显示。

没有什么比通过 TableAdapter 和 sql 语句填充 DataSet 更方便的了。如果我是你,我会坚持这一点。

于 2012-12-17T08:21:51.490 回答