我正在做一個MVC5網站,並創建了一個視圖模型,以便能夠訪問在我看來多個模型/班。 Viewmodel包含由EntityFramework生成的類。它看起來像這樣:指定的propertyinside嵌套類數據類型?
public class PersoneelskaartVm
{
public PERSONEEL Personeel { get; set; }
public GEBRUIKERS Gebruikers { get; set; }
public List<SYSGROEP> LidVanSysgroep { get; set; }
public List<RELSGRPS> LidVanRelsgrps { get; set; }
public PERSONEEL_UREN UrenPerJaar { get; set; }
public PERSOON_OVERW OverwerkPerJaar { get; set; }
public CBOALGEMEEN Status { get; set; }
public List<RELAFDELING> LidVanRelafdeling { get; set; }
public List<PERSOON_VAKGROEP> LidVanPersoonvakgroep { get; set; }
public List<VAKGROEP> LidVanVakgroep { get; set; }
public List<competentieEntiteit> LidVanPersoonCompetentie { get; set; }
public List<competenties> LidVanCompetenties { get; set; }
//Volle lijsten:
public List<CBOALGEMEEN> AlleBurgStaten { get; set; }
public List<OVERWERK> AlleOverwerk { get; set; }
public List<ONREG_TOESLAG> AlleOrt { get; set; }
public List<CBOALGEMEEN> AlleStatussen { get; set; }
public List<CBOALGEMEEN> AlleContractvormen { get; set; }
public List<FUNCTIE> AlleFuncties { get; set; }
}
傳統,我用[DataType(DataType.Date)]
爲DateTime是否在那裏我只需要的日期。但是我怎樣才能達到這個Personeel
的財產?在Personeel
一個名爲gebd
財產,所以我想設置一個數據類型Personeel.gebd
。
這同樣適用於所謂CreditCard
在Personeel
屬性在那裏我總是用[Datatype(DataType.CreditCard)]
但我不能改變自動生成的EF類。
//編輯:因爲我無法解釋自己很好,生病試圖解釋自己的稍高些。
在舉例來說,如果我有這樣的模型,我的網頁:
public class ExampleViewModel{
public PERSOON Person{get;set;}
}
和PERSOON的定義是這樣的:
public class PERSOON{
public DateTime gebd {get;set;}
}
,我不能改變PERSOON類。
在HTML一個文本框的輸出將是:1985年4月5日00:00:00如果我訪問ExampleViewModel.Person.gebd
如果我添加的數據類型標記([數據類型(DataType.Date) ]),輸出將是:04-05-1985。所以沒有時間作爲後綴。
但是因爲我的Viewmodel嵌套了Models,所以我該如何在ViewModel中應用DataType標記來操作Viewmodel中類中的屬性。
我希望我解釋的更好。
的'DataType'註釋使用'DataType'枚舉 - 這是給範圍在HTML'input'領域是有用的。這是你想要做的嗎?你將無法添加自己的'DataType'(另外,'Personeel.gebd'是一個屬性,而不是一個類型)。你不知道你在問什麼/試圖做什麼。如果我可能會建議查看自定義屬性,並且創建自定義HTML助手(如果這是(鬆散)),那麼您試圖獲得什麼? –
你想做什麼?你期望的最終結果是什麼? – Shyju
視圖模型不應包含屬於數據模型的屬性。 –