我一直在阅读Microsoft.AspNet.Scaffolding.Core.Metadata命名空间;但是,我对这个对象模型并不熟悉,也许我忽略了一些东西。我正在创建T4文本模板,并希望自动生成相关模型数据的输出。类似于ModelMetadata.RelatedModelMetadata.ModelMetadata.PropertyMetadata的东西。
foreach (PropertyMetadata property in ModelMetadata.Properties) {
if (property.IsAssociation) {
RelatedModelMetadata relatedModel = property.RelatedModel
foreach (PropertyMetadata relatedProperty in relatedModel.Properties) {
// Do Something
}
}
}当然,这不能工作,因为RelatedModelMetadata对象没有属性集合;实际上,所有的RelatedModelMetadata属性都是字符串。
任何技巧都是你可能会被欣赏的窍门。
谢谢!
发布于 2016-04-18 16:51:34
在视图生成模板中,可以访问Model.ModelMetadata.Navigations属性。这“类似”RelatedModelMetadata..。我在引语中重复“相似”..。相似之处可能更多的是意图,而不是功能。
@foreach (var property in Model.ModelMetadata.Navigations)
{
//I do what I want!
}每个property都为您提供以下属性
https://stackoverflow.com/questions/29978398
复制相似问题