2009-03-12 10 views
4

メソッドを持つためにエンティティの部分クラスを拡張しています。エンティティが(もしあれば)同じコンテキストからより多くのエンティティを取得するために添付されているコンテキストへの参照を取得するにはどうすればいいですか?Entity Framework get CurrentContext

ことがはっきりしない場合は、基本的に私は書くために探していたコードは、これらの行(空気コード)に沿っている:

public void AssignSize(int width, int height) 
{ 
    var size = (from s in this.context.Sizes 
       where s.width == width && s.height == height 
       select s).FirstOrDefault(); 

    ... 
} 

のNb:これは動作しません。

答えて

4

このメソッドにコンテキストを渡す必要があります。幅と高さを渡すのではなく、サイズオブジェクト自体を渡すのがより効果的です。

+0

例の跛行で撮影したポイントである:O)だから、文脈を通過することなく、それを行うための方法はありませんか?残念です。 – NikolaiDante

+0

これを考慮してください: var myEntity = new MyEntity(); myEntity.AssignSize(1,2); これは、エンティティを特定のコンテキストに結合する際の1つの問題に過ぎません。 –

3

は、この記事を見てみましょう:

how-to-get-the-objectcontext-from-an-entity

それはエンティティからコンテキストを取得するための回避策を示しています。

+0

これはEF6からは動作しないことに注意してください。すべてのエンティティは、もはやEntityObjectの下位になく、コンテキストを認識していない単純なPOCOです。 – dudeNumber4

+1

この方法はEF6で動作します:http://www.apterasoftware.com/Blog/Post/10-10-26/How_To_Get_the_Context_from_an_Entity_Framework_Object.aspx – dudeNumber4

+1

@ dudeNumber4リンクが壊れています – rdans

0

エンティティdb =新しいエンティティ();

エンティティはあなたがEFで言っ名...