本文整理汇总了C#中IServiceProvider.GetDataModelDescriptorProvider方法的典型用法代码示例。如果您正苦于以下问题:C# IServiceProvider.GetDataModelDescriptorProvider方法的具体用法?C# IServiceProvider.GetDataModelDescriptorProvider怎么用?C# IServiceProvider.GetDataModelDescriptorProvider使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在类IServiceProvider
的用法示例。
在下文中一共展示了IServiceProvider.GetDataModelDescriptorProvider方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C#代码示例。
示例1: RunDynamicData
public static IApplicationBuilder RunDynamicData(this IApplicationBuilder applicationBuilder, IServiceProvider serviceProvider, params DataModelDescriptor[] dataModelDescriptors)
{
var dataModelDescriptorProvider = serviceProvider.GetDataModelDescriptorProvider();
foreach (var dataModelDescriptor in dataModelDescriptors)
{
dataModelDescriptorProvider.AddDataModelDescriptor(dataModelDescriptor);
}
var numberOfDataModelDescriptors = dataModelDescriptors.Length;
if (numberOfDataModelDescriptors == 0)
{
throw new InvalidOperationException("You should provide at least one DataModelProvider");
}
var dataModelPrefix = "{dataModel}/";
var dataModelDefault = "";
if (numberOfDataModelDescriptors == 1)
{
dataModelPrefix = "";
dataModelDefault = dataModelDescriptors.Single().DataModelName;
}
applicationBuilder.UseMvc(routes =>
{
routes.MapRoute("tableList", dataModelPrefix + "{table}", new { controller = "Table", action = "Detail", dataModel = dataModelDefault });
if (numberOfDataModelDescriptors == 1)
{
routes.MapRoute("context", "", new { controller = "DataModel", action = "Detail", dataModel = dataModelDefault });
}
else
{
routes.MapRoute("contextDetail", "{dataModel}", new { controller = "DataModel", action = "Detail" });
routes.MapRoute("context", "", new { controller = "DataModel", action = "List" });
}
}
);
return applicationBuilder;
}