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