实体框架中未按预期工作的接口生成了部分类

时间:2013-04-11 02:09:26

标签: c# .net .net-4.0 entity-framework-4

我正在使用Entity Framework 4.0,.NET 4.0中的项目遇到问题。

我已经走下了模特的第一条路线。

我一直在创建我的模型,只是右键单击我的模型设计器,然后单击添加代码生成项...

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

编辑:这些名称与生成的类名称相同。

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;}

}

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

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

我对发生的事情感到很困惑。

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

1 个答案:

答案 0 :(得分:0)

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

public partial class Foo : IFoo
{
     IBar IFoo.Bar 
     {
        get { return ((Foo)this).Bar }
        set { ((Foo)this.Bar) = (Bar)value; }
     }    
}