我刚刚开始使用Entity Framework 4.1 Code-First。我创建了我的课程和DbContext
,他们的工作非常好。现在我想在EntityDataSource
的帮助下将我的ListView绑定到我的实体,但不幸的是它无法识别任何可用的连接字符串!我认为providerName必须是System.Data.EntityClient
才能工作,但我没有具体的实体模型来引用...
我已经读过ObjectContext
可以从DbContext
“改编”,而ObjectDataSource
可以用来创建DbContext
。但是,我想使用我的{{1}}绑定到我的ListView。我有什么方法可以做到这一点吗?
答案 0 :(得分:0)
我很难理解你的问题......你想在实例化Context类时指定连接字符串,是吗?
您可以创建DbContext类的构造函数的重载,例如
public MyContext(string connString) : base (connString)
{
Database.SetInitializer(...
...
}
然后,在Code-First方法中,除了超级高级方案之外,您并不真正需要ObjectContext,而且我猜测数据绑定不是其中之一。要绑定到Context类中的集合,只需在为您的屏幕设计的ViewModel类中添加一个属性,例如
public class MyViewModel
{
private MyContext _context;
public ObservableCollection<MyObject> MyObjects { get; set; }
public MyViewModel()
{
_context = new MyContext();
MyObjects = new ObservableCollection<MyObject>(_context.MyObjects.ToList());
}
}
然后,您可以将ListView与该属性绑定,前提是它已被引用。
希望有所帮助,否则请提供更多详情。