在实体框架中没有按预期工作的接口生成了部分类
本文关键字:接口 分类 工作 框架 实体 | 更新日期: 2023-09-27 18:08:28
我在Entity Framework 4.0, . net 4.0中工作的项目遇到了问题。
我已经走了模型的第一条路线。
我一直在创建我的模型,只是通过右键单击我的模型设计器,然后单击添加代码生成项生成部分类…
然后我创建了一些部分类,像这样:
EDIT:这些都与生成的类在同一个命名空间中。
public partial class Foo : IFoo{
}
public partial class Bar : IBar{
}
public partial class SomethingElse : ISomethingElse{
}
我已经查看了生成的实体框架代码和Foo具有属性Bar和SomethingElse,它们是实体框架生成的类型。
IFoo的接口是这样设置的:public interface IFoo{
IBar Bar {get; set;}
ISomethingElse SomethingElse {get; set;}
}
EDIT:接口位于与实体框架类不同的类库中。
我的问题是编译器抱怨Foo没有实现接口IFoo。
我真的不知道发生了什么事。如果有人能在这一点上给出一些启示,那就太好了。我总觉得我错过了什么。
据我所知,问题是类Foo
具有返回类型Bar
的属性,但您要求实现具有返回类型IBar
的属性。您可以尝试通过显式实现来解决这个问题:
public partial class Foo : IFoo
{
IBar IFoo.Bar
{
get { return ((Foo)this).Bar }
set { ((Foo)this.Bar) = (Bar)value; }
}
}