将属性添加到实体框架数据库第一个生成的类

问题描述:

我正在使用实体框架4.1并使用数据库第一种方法生成我的类。我的解决方案中有一个EDMX文件。将属性添加到实体框架数据库第一个生成的类

我想使用MetadataTypeAttribute方法将属性添加到我的类中,这似乎是在编辑T4模板之外进行此操作的推荐方法,但是,我似乎无法使其工作,因为我不断收到此编译错误:

'病人' 是 'PatientManagementSystem.Patient' 和 'PatientManagementSystem.Models.Patient'

这里之间的不明确的引用是我使用的代码:

[MetadataTypeAttribute(typeof(PatientMetadata))] 
public partial class Patient 
{ 
} 

public class PatientMetadata 
{ 

    [Required] 
    public string LastName {get; set;} 

} 

这是错误发生,因为我实际上没有这个类,因为我在EDMX第一,一切都在做数据库?

谢谢! 跳蚤

+1

什么是你的EDMX和上面的类的命名空间?他们应该匹配。 – 2013-04-27 21:47:24

+0

亚当,命名空间为EDMX是'empty'(此外,这是一个类库项目,是除了我的MVC项目)和我的课的名称空间是:'PatientManagementSystems.Models' – Flea 2013-04-28 01:07:55

+0

亚当,这就是问题所在。我不得不修复命名空间,现在它似乎工作。如果您想复制您所说的内容并将其作为答案,我会为您添加标记。谢谢! – Flea 2013-04-28 01:32:30

确保两者都在相同的命名空间。由于它是一个部分类,因此您正在修改的类也必须位于相同的名称空间中,或者它不是同一个类。