gpt4 book ai didi

entity-framework - 文本转换和查找实体复数(集合)

转载 作者:技术小花猫 更新时间:2023-10-29 10:24:59 25 4
gpt4 key购买 nike

如果我有一个 .tt 模板,我可以使用 entity.Name 写出实体的名称,例如:

foreach (EntityType entity in ItemCollection.GetItems<EntityType>().OrderBy(e => e.Name))
{;
WriteLine(entity.Name);
}

使用普通转换或 T4,如何写出实体集的实际名称? (例如,对于 Person,它可能是 Persons - 但也许我在设计器中将其更改为 People,所以我想要那个)。

谢谢!

理查德

最佳答案

我一直在寻找同一个问题的答案,发现它还不错。但是,无需获取 EntitySet 名称,使用相同的复数形式非常容易。

在您的文本模板中,大概在顶部,添加以下行:

<#@ assembly name="System.Data.Entity.Design" #>
<#@import namespace="System.Data.Entity.Design.PluralizationServices" #>

这允许您创建一个复数实例:

<# PluralizationService pluralizer = PluralizationService.CreateService(System.Globalization.CultureInfo.CurrentCulture); #>

然后要复数模板中的实体,只需使用:

<#=pluralizer.Pluralize(code.Escape(entity))#>

当然,您可以将 code.Escape(entity) 替换为存储实体名称的变量名称。

就是这样!

来源:
Are there any limitations on what libraries can be imported in a t4 template? http://vthornheart.railsplayground.net/blog/archives/655

关于entity-framework - 文本转换和查找实体复数(集合),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6449192/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com