在.NET 3.5中,如果我生成了linq到SQL数据上下文,则可以使名称相交。在我的代码中,我需要使一些术语相关。我可以使用Linq使用的任何方法来生成我的复数吗?

有帮助吗?

解决方案

Linq到SQL不会暴露其复数逻辑。对反射器进行快速检查表明,它并没有使用非常复杂的算法:

如果以“ x”,“ ch”,“ sh”或“ ss”结尾,则添加“ es”。
如果以“ y”结尾为辅音,请删除y并添加'ies'。
否则,添加“ S”。

如果是.NET 4,则EF的复数服务更加彻底。以防万一您需要使“肺炎肺炎孢子造菌病”复合。

其他提示

您必须使用反射器来挖掘为Linq-to-SQL设计器代码生成的Visual Studio组件。

还有一个.NET发电器端口,可以从事相同的工作。作者的博客现已下降,但可在 http://cid-net.googlecode.com/svn/trunk/src/cid.mvc/inflector.cs 在其他人中。

(通过 供应器的替代品)

LINQ到SQL使用一个相当简单的系统进行复数化。如果您要处理复杂的术语,我建议您 使用类似的东西 Sede一部分的燃烧器. 。该代码似乎源于 亚音速项目.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top