8
System.Data.Entity.Design.PluralizationServices
を使用してT4テンプレートを作成して、モデル生成のテーブル名を処理しています。PluralizationServicesがStatuにステータスを変更する
CompanyStatus
のようにStatus
という名前のテーブルを実行すると、Singularize
メソッドはCompanyStatu
を返します。私は以下のいくつかのサンプルコードを持っています。
CompanyStatusを正しく表示するにはどうすればよいですか?
void Main()
{
// Sanity checks
Console.WriteLine(Singularize("Cats"));
Console.WriteLine(Singularize("Cat"));
Console.WriteLine(Singularize("Status"));
// The real issue
Console.WriteLine(Singularize("CompanyStatus"));
}
static string Singularize(string word)
{
var singularword = System.Data.Entity.Design.PluralizationServices.PluralizationService.CreateService(System.Globalization.CultureInfo.GetCultureInfo("en-us")).Singularize(word);
return singularword;
}
これが返されます。
猫
猫
ステータス
CompanyStatu
私も試してみました:
static string Singularize(string word)
{
var pluralizationService = System.Data.Entity.Design.PluralizationServices.PluralizationService.CreateService(System.Globalization.CultureInfo.GetCultureInfo("en-us"));
((ICustomPluralizationMapping)pluralizationService).AddWord("companystatus", "companystatuses");
var singularword = pluralizationService.Singularize(word);
return singularword;
}
多分 '((ICustomPluralizationMapping)pluralizationService).AddWord(" companystatus "、" companystatus ");' – Kevorkian
まだ@Kevorkianはありません。 –