使用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的用户类型加载导航属性:
db.Foo.where(x => x.id == id).Include(x => x.User)
但它告诉我:
指定的包含路径无效。 EntityType'Dal.Foo'不会声明名为'User'的导航属性。
但是,如果我更改两个接口以直接实现该类型,它可以正常工作。
有没有解决方法,所以我可以使用接口?
答案 0 :(得分:0)
我知道这可以使用部分类来完成。所以你可以使用部分类并忽略接口,或者只是在部分类中实现接口然后继承它。 我建议查看T4模板。