我想寫一個方法來獲取T4模板文件中屬性的可空狀態。確定模型的屬性是不可空或是必需的(在MVCScaffolding T4模板文件中)
我已經寫在我的TT文件,但在T4文件是不同
bool IsRequired(object property) {
bool result=false;
? ? ? ? ? ? ? ? ? ? ? ?
return result;
}
List<ModelProperty> GetEligibleProperties(EnvDTE.CodeType typeInfo, bool includeUnbindableProperties) {
List<ModelProperty> results = new List<ModelProperty>();
if (typeInfo != null) {
foreach (var prop in typeInfo.VisibleMembers().OfType<EnvDTE.CodeProperty>()) {
if (prop.IsReadable() && !prop.HasIndexParameters() && (includeUnbindableProperties || IsBindableType(prop.Type))) {
results.Add(new ModelProperty {
Name = prop.Name,
ValueExpression = "Model." + prop.Name,
Type = prop.Type,
IsPrimaryKey = Model.PrimaryKeyName == prop.Name,
IsForeignKey = ParentRelations.Any(x => x.RelationProperty == prop),
IsReadOnly = !prop.IsWriteable(),
// I Added this >>
IsRequired = IsRequired(prop)
});
}
}
}
怎麼辦呢???
這不會MvcScaffolding工作,因爲你沒有任何對象,只是屬性元數據。 由於您將System.Int32作爲類型名稱用於不可爲空和可空的整數,因此您也不能使用類型名稱。 – 2017-11-02 15:46:54