2014-05-12 304 views
3

我有一個Entity Framework生成的名爲Person.cs的類,位於名稱空間Project.Model中。擴展一個實體框架6類

然後我在項目中放入了一個名爲Extensions的新文件夾,在裏面添加了Person.cs,並將此文件的名稱空間設置爲Project.Model。

這樣做後,我得到的錯誤:

Type 'Project.Model.Person' already defines a member called 'Person' with the same parameter types.

我在做什麼錯?我需要擴展EF Person.cs以具有其他屬性。

這是我擴展Person.cs的代碼。 - 沒有成員可以被定義兩次,包括

public partial class Person 
{ 
    // add properties here 
} 

你的部分類是同一類的一部分,以便與任何其他類的定義:

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() 
     { 

     } 
    } 
} 

回答

4

你應該從Person類中刪除默認的構造函數構造函數。如果您將訪問EF生成的Person類,您將會看到它已經具有默認構造函數(EF將其用於導航屬性初始化)。

+1

這是一個放置這些擴展的好地方嗎?或者我應該在業務層中創建域模型並使用automapper在它們之間進行映射? – Chazt3n