我有一个填充了表名的列表框。我希望能够单击列表框中的一行并返回该表中的所有记录并绑定到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";
}
答案 0 :(得分:0)
实体框架使用类型来表示SQL内容并尽力而为,因此您不必为每种服务器风格(Oracle,SQL Server,MySQL等)编写sql。这就是ORM的作用......
如果您习惯使用泛型类型,那么使用Entity Framework就可以做到这一点。
这不是你想要的,但也许你可以从以下文章中找到一些提示:
答案 1 :(得分:0)
实体框架不是实现这一目标的最佳工具。您可以尝试Entity Sql,但问题是,为了以动态方式使用它,您必须在IEnumerable<DbDataRecord>
中捕获结果。 DataGridView
不会这样显示。
没有什么比通过TableAdapter和sql语句填充DataSet更方便了。如果我是你,我会坚持到那。