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'という名前のナビゲーションプロパティを宣言していません。
ただし、タイプを直接実装するように両方のインターフェイスを変更すると、正常に機能します。
インターフェイスを利用できるようにこれを回避する方法はありますか?