实体框架:在不接触EF生成的类的情况下,用接口扩展分部类

本文关键字:情况下 接口 扩展 框架 接触 EF 实体 | 更新日期: 2023-09-27 18:09:32

我的问题与这篇文章类似:实体框架中的接口继承

因此,我复制了这个例子,并针对我的问题进行了修改:

public interface IBaseEntity
{
    DateTime CreatedOn { get; set; }
    string CreatedBy { get; set; }
}
// The following two classes are generated by Entity Framework
public partial class SomeEntity
{
    public int SomeEntityId { get; }
    public string Name { get; set; }
    public DateTime CreatedOn { get; set; }
    public string CreatedBy { get; set; }
}
public partial class OtherEntity
{
    public int OtherEntityId { get; }
    public float Amount { get; set; }
    public DateTime CreatedOn { get; set; }
    public string CreatedBy { get; set; }
}


我想做的是:

public partial class SomeEntity : IBaseEntity
    {
        // No code needed here because the other partial class
        // already has the needed properties
    }

但后来我得到了以下错误:

Error 64 '[...].SomeEntity' does not implement interface member '[...]IBaseEntity.CreatedOn'
Error 64 '[...].SomeEntity' does not implement interface member '[...]IBaseEntity.CreatedBy'

很明显,我也能看到
但我认为编译后,分部类会变成一个,这样编译器就不应该抱怨了。

有什么想法吗?

提前感谢!

实体框架:在不接触EF生成的类的情况下,用接口扩展分部类

我遇到了同样的错误,我解决了将部分类移动到App_Code文件夹之外的问题!我应该承认我不明白原因:-(