【问题标题】:PluralizationServices changing Status to StatuPluralizationServices 将 Status 更改为 Status
【发布时间】:2017-05-17 20:16:47
【问题描述】:

我们有一个 T4 模板,使用 System.Data.Entity.Design.PluralizationServices 来处理用于某些模型生成的表名。

当我们运行名称中带有Status 的表时,例如CompanyStatusSingularize 方法返回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;
}

这会返回:



状态
公司状态

我也试过了:

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。

标签: c# pluralize


【解决方案1】:

Humanizer 如果可以的话,会开箱即用吗?

// Note that you have to set the "inputIsKnownToBePlural" flag to false,
// or it will behave the same as PluralizationServices.

Console.WriteLine("Statuses".Singularize(inputIsKnownToBePlural: false));
Console.WriteLine("Status".Singularize(inputIsKnownToBePlural: false));
Console.WriteLine("CompanyStatus".Singularize(inputIsKnownToBePlural: false));
Console.WriteLine("CompanyStatuses".Singularize(inputIsKnownToBePlural: false));

Documentation.

【讨论】:

    猜你喜欢
    • 2019-12-15
    • 1970-01-01
    • 1970-01-01
    • 2014-07-30
    • 1970-01-01
    • 1970-01-01
    • 2015-11-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多