我的视图直接将实体作为模型:
@model MyProject.Models.MyEntity
是否有一种简单的方法可以在视图中获取实体的复数名称?在上面的例子中,我想要MyEntities
。
我知道我可以在帮助器或控制器中执行此操作并将其传递到ViewBag或ViewModel中 - 但是在视图中是否可以直接获取它?
非复数名称可以,因为我在String
对象上创建了一个复数形式的扩展方法:
using System.Data.Entity.Design.PluralizationServices;
namespace System
{
public static class StringExtensionMethods
{
public static string Pluralise(this string word, CultureInfo culture)
{
var service = PluralizationService.CreateService(culture);
if (service.IsSingular(word))
{
return service.Pluralize(word);
}
return word;
}
}
PS。如果有人想使用上述内容,则需要引用System.Data.Entity.Design
。
编辑:
我刚刚意识到我可以做Model.GetType().Name.Pluralise();
,因为这就是我传递的内容。
嗯......有更好的方法吗?
答案 0 :(得分:0)
这几乎是最好的方法,但是大多数人会认为你应该在控制器中执行它,并通过ViewModel将复数名称传递给视图