私はasp.net mvcアプリケーションでエンティティフレームワークを使用していますが、私はデータベースファーストアプローチを使用しています。あなたが見ることができるように、また、CBへのナビゲーションプロパティがあり部分クラスからgetメソッドにフックする際にEFナビゲーションプロパティがロードされない
public partial class CA
{
private string _PropX;
partial void OnGetPropX(ref string value);
public string PropX
{
get
{
string value= _PropX;
this.OnGetPropX(ref value);
return value;
}
set
{
this._PropX= value;
}
}
public virtual CB B { get; set; }
}
:私は少しはこのように私のエンティティのプロパティのgetメソッドにフックすることができるようにEDMXからコード生成をカスタマイズしました。私の非生成された部分クラスAではPropXは、このようなCBのプロパティを返すようにするために、私はgetメソッドにフック:
public partial class CA
{
partial void OnGetPropX(ref string value)
{
if(String.IsNullOrEmpty(value))
value= this.B.PropY; // Error
}
}
しかし、それはthis.Bは常に//でマークされた行のnull判明エラー。しかし 、以下、すべてがうまく働くように私は、私の非生成された部分クラスのCAに新しいプロパティを作成する場合:
public string MyPropX
{
get
{
return (String.IsNullOrEmpty(this.PropX) ? this.B.PropY: this.PropX);
}
}
誰も私にこの動作を説明し、おそらく取得する方法を教えてもらえます最初に働く方法は?ありがとう!
おかげで、それを試してみましたが、残念ながらそれはそれではなかったです。 – EPLKleijntjens
仮想はナビゲーションプロパティーにのみ必要です。 – niaher