0
我需要添加dataannotation属性到我的实体,但我的实体以外。为什么?我所有的类都是由T4生成的,如果我向属性添加一些数据注解(DisplayName,Min,Max等),当我重新运行T4生成我的实体时,它们将会丢失。我希望实体由T4生成,然后在另一个类中执行如下操作:添加DataAnnotations到实体类以外的属性
Dog.Name.AddDataannotation(new DisplayNameDataAnnotation(“My dog”));
类会是这样的
public class Dog
{
public int DogId { get; set; }
public string Name { get; set; }
}
它会像对dataannotations一口流利的API。这样我就可以将我的数据注解从我的实体中分离出来,我可以在不丢失它们的情况下重新生成它们。如果有人问我不能使用DTO。另一件事,我有一个基于DataAnnotations验证实体的类,我想继续工作。
是否有可能做到这样的事情?
感谢和抱歉我的英语!
哇,太可怕了!!!我不是说你的回答(很好的答案),处理场景的方式!但是有一个问题,在我的理想场景Dog.Name.AddDataannotation(新的DisplayNameDataAnnotation(“My dog”))中,将Dog类的Name属性更改为Name1。会抛出异常,因为Name更改为Name1。在示例中,您向我展示了这不会发生,Dog类将从生成的代码获取Name(来自元数据)和Name1。我的解释是否正确?如果我的解释没问题,那么我需要说我不希望发生这种情况! – snekkke
你是对的,那种情况将会惨败。您可以进行一次单元测试,检查metadatatype属性与原始属性,以确保它们存在。 – Bas
嘿,那个很好!但是,如果两者都是DOG类,你如何做比较? – snekkke