EntityFramework在不同的DLL中扩展基本模型

时间:2012-11-23 18:14:04

标签: c# .net ef-code-first entity-framework-4.3

我有一个基本模型的DLL,首先使用代码EF 4.3。 我想要的是使用其他字段扩展该dll中的某些模型。

例如在BaseModel.DLL

namespace BaseModel
{
   public class Account
   {
       public Id { get;set;}
       public string Name {get;set;}
   }
}

在引用项目中我想扩展Account模型(和DB表):

public class Account : BaseModel.Account
{
    public string SomeAdditionalInfo { get;set;}
}

我希望最终得到一个包含字段的帐户

Id
Name
SomeAdditionalInfo

这样我可以继续在几个类似的项目中重用BaseModel(和逻辑)。 我想我不能使用部分类,因为我们说的是不同的DLL。 也许遗产?我尝试了几种方法,但我一直在争论有两个同名的模型。

任何提示?提示?溶液

1 个答案:

答案 0 :(得分:1)

您可以通过Table per Hierarchy使用继承。 您可以创建基类AccountBase和子类Account:AccountBase:

public class AccountBase
{
   public Id { get;set;}
   public string Name {get;set;}
}
public class Account : AccountBase
{
    public string SomeAdditionalInfo { get;set;}
}

它生成表AccountBase,它将包含列Id,Name,SomeAdditionalInfo 还将有列Discriminator,它将包含该行中包含的类的实例。