在 Entity Framework 6 中,我可以像这样获取类 (myModel) 的 ModelMetadata:
var modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, myModel.GetType());
如何在 .net core 1.1.1 中做同样的事情?
在 Entity Framework 6 中,我可以像这样获取类 (myModel) 的 ModelMetadata:
var modelMetadata = ModelMetadataProviders.Current.GetMetadataForType(null, myModel.GetType());
如何在 .net core 1.1.1 中做同样的事情?
ModelMetadataProvider 是一个 ASP.NET 功能,它与实体框架无关。IModelMetadataProvider
在 ASP.NET Core 中,您可以使用内置 DI轻松注入默认实现:
public FooController(IModelMetadataProvider provider)
{
var metadata = provider.GetMetadataForType(typeof(model));
}
在 ASP.NET Core 3.0 中有EmptyModelMetadataProvider
实现DefaultModelMetadataProvider
哪个实现ModelMetadataProvider
哪个抽象的类。我们能够简单地实例化EmptyModelMetadataProvider
和调用GetMetadataForType(typeof(MyModel))
,它将返回所需的元数据。我对此答案的特殊用途是测试自定义模型绑定器。