0

私はEntity Framework 4.1 Code-Firstを始めたばかりです。私はクラスとDbContextを作りました、そして、彼らは完全に正常に動作します。今すぐ私のリストビューをEntityDataSourceの助けを借りて私のエンティティにバインドしたいのですが、残念ながら使用可能な接続文字列は認識されません!私はObjectContextが順番に使用することができDbContextから「適応」することができることを読んだことがあるCode-First Entity Framework 4.1を使用したEntityDataSource

...私はそれを動作させるためにproviderNameではSystem.Data.EntityClientでなければならないと思いますが、私はに参照するために、具体的なエンティティモデルを持っていませんObjectDataSourceを作成します。私はDbContextを使ってListViewにバインドしたいと思っています。私はこれを行うことができる方法はありますか?

+0

[EFコードの最初のDbContextをAsp.Netデータソースにバインドする方法は?](http://stackoverflow.com/questions/6327937/how-to-bind-ef-code-first-dbcontext-to -an-asp-net-datasource) –

答えて

0

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

あなたはコード・ファーストアプローチでは、あなたが本当に超高度なシナリオ以外のObjectContextを必要としない、そして、

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

ように、あなたのDbContextクラスのコンストラクタのオーバーロードを作成することができ、かつデータバインディングは私が推測するものではありません。そして、あなたはそれが参照されますことを考えると、そのプロパティに対してあなたのListViewをバインドすることができ

public class MyViewModel 
{ 
    private MyContext _context; 
    public ObservableCollection<MyObject> MyObjects { get; set; } 

    public MyViewModel() 
    { 
     _context = new MyContext(); 
     MyObjects = new ObservableCollection<MyObject>(_context.MyObjects.ToList()); 
    } 
} 

のように、ちょうどあなたの画面用に設計されたのViewModelクラスにそれのために財産を入れて、あなたのContextクラスでコレクションにバインドするために取得します。

ご希望の場合は、詳細をお知らせください。