0

我刚刚开始使用 Entity Framework 4.1 Code-First。我已经创建了我的类和DbContext,它们工作得很好。现在我想在 的帮助下将我的 ListView 绑定到我的实体,EntityDataSource但不幸的是它无法识别任何可用的连接字符串!我认为 providerName 必须System.Data.EntityClient让它工作,但我没有具体的实体模型可以参考......

我已经读到 anObjectContext可以从 . 中“改编” DbContext,而ObjectDataSource. 但是,我想使用 myDbContext绑定到我的 ListView。有什么办法可以做到这一点吗?

4

1 回答 1

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 与该属性绑定,因为它已被引用。

希望对您有所帮助,否则请提供更多详细信息。

于 2012-01-27T19:24:47.360 回答