0

Entity Framework 4.1 Code-First を始めたばかりです。クラスと を作成しましたがDbContext、それらは完全に正常に動作します。今、ListView を Entities にバインドしたいのですEntityDataSourceが、残念ながら利用可能な接続文字列を認識しません! それが機能するためには providerName が必要だと思いますが、System.Data.EntityClient参照する具体的なエンティティモデルはありません...

ObjectContextをから「適応」させることがDbContextでき、それを使用して を作成できることを読みましたObjectDataSourceDbContextただし、my を使用して ListView にバインドしたいと考えています。これを行う方法はありますか?

4

1 に答える 1

0

あなたの質問を理解するのに苦労しています... Context クラスをインスタンス化するときに接続文字列を指定したいのですか?

次のように、DbContext クラスのコンストラクターのオーバーロードを作成できます。

public MyContext(string connString) : base (connString)
   {
      Database.SetInitializer(...
      ...
   }

次に、Code-First アプローチでは、非常に高度なシナリオを除いて、ObjectContext は実際には必要ありません。また、データバインディングはその 1 つではないと思います。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 が参照されている場合、そのプロパティに対して ListView をバインドできます。

それが役に立てば幸いです。それ以外の場合は、詳細を教えてください。

于 2012-01-27T19:24:47.360 に答える