简体   繁体   English

实体的多个元数据类

[英]Multiple metadata classes for entity

假设我有2个实体,一个是UserMaster另一个是ProjectMaster ,现在这两个实体中的通用属性都很少,我需要对这两个通用属性集应用相同的数据注释和属性,这是我使用元数据类完成的,现在我的问题是对于实体之间所有这些通用属性,我都具有通用的元数据类,因此我不需要一次又一次地为通用属性应用数据注释和属性,如果需要,那么如何实现此目的。

You can create a base metadata class and the other metadata class derive from the base and add some other properties. 您可以创建一个基础元数据类,另一个元数据类从该基础派生并添加其他一些属性。

Example: 例:

In the below example I supposed you can't derive Class2 from Class1 so I have inheritance only between metadata classes, otherwise you can simply have inheritance between your model classes. 在下面的示例中,我假设您不能从Class1派生Class2 ,所以我仅在元数据类之间具有继承,否则,您可以在模型类之间简单地继承。

[MetadataType(typeof(Class1Metadata))]
public class Class1
{
    public string Id { get; set; }
    public string Name { get; set; }
}

[MetadataType(typeof(Class2Metadata))]
public class Class2
{
    public string Id { get; set; }
    public string Name { get; set; }
    public string Description { get; set; }
}

public class Class1Metadata
{
    [Display(Name="Id1")]
    public string Id { get; set; }
    [Display(Name = "Name1")]
    public string Name { get; set; }
}
public class Class2Metadata:Class1Metadata
{
    [Display(Name = "Description2")]
    public string Description { get; set; }
}

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM