扩展Entity Framework 6类

3
我有一个由Entity Framework生成的类叫做Person.cs,它在名为Project.Model的命名空间中。
然后我在项目中新建了一个名为Extensions的文件夹,把Person.cs放进去,并将该文件的命名空间设置为Project.Model。
这样做之后,我遇到了错误:
“类型‘Project.Model.Person’已经定义了一个具有相同参数类型的成员‘Person’。”
我做错了什么?我需要扩展EF Person.cs以拥有其他属性。
下面是我扩展后的Person.cs代码。
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Project.Model
{
    public partial class Person
    {
        public Person()
        {

        }
    }
}
1个回答

4
您应该从Person类中删除默认构造函数:
public partial class Person
{
    // add properties here
}

你的部分类是同一个类的一部分,因此与任何其他类定义一样 - 没有成员可以被定义两次,包括构造函数。如果你进入EF生成的Person类,你会发现它已经有了默认构造函数(EF用于导航属性初始化)。


1
这是放置这些扩展的好地方吗?还是我应该在业务层创建领域模型并使用自动映射器在它们之间进行映射? - Chazt3n

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接