0

MVC4、Entity Framework 5を使用して、理想的にはすべてのタイプでインターフェイスを利用したいと思います。

だから私は私のインターフェースを持っています、一方はもう一方への'navigation'プロパティを持っています。

インターフェイスIfooには次のものがあります。

IUser User {get; set;}
int UserID {get; set;}

IUserにはUserIDプロパティとUserNameプロパティしかないとします。

タイプにIfooインターフェースを実装する場合、私は

public Iuser User {get; set;}
public UserID {get; set;}

次に、EF5を使用して、IUserを実装するUserタイプを使用して、ナビゲーションプロパティをロードします。

db.Foo.where(x => x.id == id).Include(x => x.User)

しかし、それは私にそれを教えてくれます:

指定されたインクルードパスが無効です。EntityType'Dal.Foo'は、'User'という名前のナビゲーションプロパティを宣言していません。

ただし、タイプを直接実装するように両方のインターフェイスを変更すると、正常に機能します。

インターフェイスを利用できるようにこれを回避する方法はありますか?

4

1 に答える 1

0

これは部分クラスを使用して実行できることを知っています。したがって、部分クラスを使用してインターフェイスを無視するか、部分クラスにインターフェイスを実装してそれを継承することができます。T4 テンプレートを調べることをお勧めします。

于 2013-10-11T06:19:21.097 に答える