sim*_*rth 2 asp.net modelmetadata modelmetadataprovider asp.net-core
在Entity Framework 6中,我可以像这样获得类(myModel)的ModelMetadata:
var modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, myModel.GetType());
Run Code Online (Sandbox Code Playgroud)
在.net core 1.1.1中我该怎么做?
小智 6
在 ASP.NET Core 3.0 中,有EmptyModelMetadataProvider一个类实现了DefaultModelMetadataProvider哪个实现ModelMetadataProvider是抽象的。我们可以简单地实例化EmptyModelMetadataProvider和调用GetMetadataForType(typeof(MyModel)),它将返回所需的元数据。我对这个答案的特殊用途是测试自定义模型绑定器。
ModelMetadataProvider是ASP.NET功能,与实体框架无关。在ASP.NET Core中,您可以IModelMetadataProvider使用内置的DI 轻松注入默认实现:
public FooController(IModelMetadataProvider provider)
{
var metadata = provider.GetMetadataForType(typeof(model));
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2933 次 |
| 最近记录: |