c# - 我可以使用 linq 的复数化术语的方法吗?

标签 c# linq pluralize

在 .net 3.5 中,如果我生成一个 linq to sql 数据上下文,它会对名称复数化产生一些奇妙的魔力。在我的代码中,我需要将一些术语复数化。我可以使用 Linq 正在使用的任何方法来生成我的复数形式吗?

最佳答案

LINQ to SQL 不公开其复数逻辑。快速检查 Reflector 发现它并没有使用非常复杂的算法:

If it ends with 'x', 'ch', 'sh' or 'ss', then add 'es'.
If it ends with 'y' preceded by a consonant, remove the y and add 'ies'.
Otherwise, add 's'.

如果 .NET 4 是一个选项,那么 EF 的 PluralizationService 会更加彻底。以防万一您需要将“pneumonoultramicroscopicsilicovolcanoconiosis”复数化。

关于c# - 我可以使用 linq 的复数化术语的方法吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3505024/

相关文章:

c# - 如何维护和返回任务的进度?

c# - 我是否需要在 foreach 之前检查 Enumerable 的 Count()

c# - 将字符串解析为具有范围的整数列表

c# - 比较这两个列表的最有效方法是什么?

ruby-on-rails - Rails 无法复数单词 'affiche'

c# - WCF - 大文件上传 - (413) 请求实体太大

C# List 加入列表并从另一个列表中过滤

c# - Linq 帮助 - 子查询给出空指针异常

ruby-on-rails - Ruby on Rails : how to check pluralized and single form of names

python - 将 blocktrans 与 "with"和 "count"关键字一起使用