扩展实体框架6类

时间:2014-05-12 09:21:04

标签: c# entity-framework entity-framework-6 partial-classes

我有一个名为Person.cs的Entity Framework生成的类,它位于名称空间Project.Model中。

然后我在项目中添加了一个名为Extensions的新文件夹,在其中添加了Person.cs,并将此文件的命名空间设置为Project.Model。

执行此操作后,我收到错误:

  

Type' 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 个答案:

答案 0 :(得分:4)

您应该从Person类中删除默认构造函数:

public partial class Person
{
    // add properties here
}

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