私のビューは、エンティティをモデルとして直接取り込みます。
@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();
それが私が受け渡しているものだから、私はできることに気づきました.
うーん...もっと良い方法はありますか?