C# 是否有方法获取ModelMetadata.RelatedEntities的ModelMetadata.Properties?
我一直在阅读名称空间;然而,我对这个对象模型还不熟悉,也许我忽略了一些东西。我正在创建T4文本模板,并希望自动生成相关模型数据的输出。类似于ModelMetadata.RelatedModelMetadata.ModelMetadata.PropertyMetadata的内容,即C# 是否有方法获取ModelMetadata.RelatedEntities的ModelMetadata.Properties?,c#,asp.net-mvc-5,t4,scaffolding,C#,Asp.net Mvc 5,T4,Scaffolding,我一直在阅读名称空间;然而,我对这个对象模型还不熟悉,也许我忽略了一些东西。我正在创建T4文本模板,并希望自动生成相关模型数据的输出。类似于ModelMetadata.RelatedModelMetadata.ModelMetadata.PropertyMetadata的内容,即 foreach (PropertyMetadata property in ModelMetadata.Properties) { if (property.IsAssociation) { Related
foreach (PropertyMetadata property in ModelMetadata.Properties) {
if (property.IsAssociation) {
RelatedModelMetadata relatedModel = property.RelatedModel
foreach (PropertyMetadata relatedProperty in relatedModel.Properties) {
// Do Something
}
}
}
这当然不起作用,因为对象没有属性集合;事实上,所有RelatedModelMetadata属性都是字符串
任何提示都是技巧,您可能会有感谢
谢谢 在视图生成模板中,可以访问
Model.ModelMetadata.Navigations
属性。这与RelatedModelMetadata“相似”。。。我用引号重复“相似”一词。。。这种相似性可能更多地体现在意图上,而不是功能上
@foreach (var property in Model.ModelMetadata.Navigations)
{
//I do what I want!
}
每个属性
都提供了属性
- AssociationPropertyName:字符串
- DisplayPropertyName:字符串
- EntitySetName:字符串
- ForeignKeyPropertyNames:字符串数组
- PrimaryKeyNames:字符串数组
- ShortTypeName:字符串
- TypeName:string