在单独的EF项目中将DataAnnotations添加到生成的类 - 使用好友类

时间:2013-02-26 19:04:47

标签: c# entity-framework

使用多层概念,我将EMDX和实体放在一个项目/库中,将我的主应用程序放在另一个项目中,这是伙伴类的最佳位置,以便我可以附加“干净”的显示命名为我模型的字段。

我创建了一个部分类

[MetadataType(typeof(ReportColumnMD))]
public partial class ReportColumn
{ }

public class ReportColumnMD
{
    public int GroupID { get; set; }
    [Display(Name = "Value")]
    public string ColumnValue { get; set; }
    [Display(Name = "Description")]
    public string ColumnDescription { get; set; }
    public int ID { get; set; }
    [Display(Name = "Group Description")]
    public string GroupDescription { get; set; }
    [Display(Name = "Default State")]
    public Nullable<bool> DefaultState { get; set; }
    [Display(Name = "Enabled")]
    public Nullable<bool> IsActive { get; set; }
}

在我的应用程序项目中。一切都很好,但显示名称仍然是原始的DB列名称。这个部分类是否需要驻留在EF项目中?在同一名称空间下?

我的偏好是将其保留在应用程序项目中。

有任何建议或想法吗?

**更新

我已将部分类移动到EF项目并更改了命名空间。这有效,但我仍然希望找到一种方法将其保留在我的应用程序项目中。

***更新

我基本上采取了在我的EF项目中创建Metadata文件夹并在其中放置我的数据注释伙伴类的机智。还有更好的方法吗?

1 个答案:

答案 0 :(得分:0)

我基本上采用了第二次更新中解释的策略,并放弃了尝试将好友类保存在单独的项目中。