1

我在 Entity Framework 4.0、.NET 4.0 中处理的项目有问题。

我走的是模型第一路线。

我一直在创建我的模型,并且刚刚通过右键单击我的模型设计器然后单击添加代码生成项来生成部分类...

然后我创建了一些像这样的部分类:

编辑:这些都与生成的类在同一个命名空间中。

public partial class Foo : IFoo{
}

public partial class Bar : IBar{
}

public partial class SomethingElse : ISomethingElse{
}

我查看了生成的实体框架代码,Foo具有属性BarSomethingElse,它们是实体框架生成的类型。

以下是IFoo接口的设置方式:

public interface IFoo{

  IBar Bar {get; set;}
  ISomethingElse SomethingElse {get; set;}

}

编辑:接口与实体框架类位于不同的类库中。

我的问题是编译器抱怨 Foo 没有实现接口 IFoo。

我真的很困惑发生了什么。

如果有人能对此有所了解,那就太好了。我有一种感觉,我只是错过了一些东西。

4

1 回答 1

0

据我了解,问题是该类Foo具有返回类型的属性Bar,但您要求实现具有返回类型的属性IBar。您可以尝试通过显式实现来解决它:

public partial class Foo : IFoo
{
     IBar IFoo.Bar 
     {
        get { return ((Foo)this).Bar }
        set { ((Foo)this.Bar) = (Bar)value; }
     }    
}
于 2013-04-11T02:20:26.697 回答