Могу ли я использовать метод linq в пользу плитализации термина?

StackOverflow https://stackoverflow.com/questions/3505024

  •  29-09-2019
  •  | 
  •  

Вопрос

В .NET 3.5 Если я генерирую контекст данных LINQ в SQL, он делает замечательную магию для плюлалийных имен. В моем коде мне нужно плюрализировать некоторые термины. Могу ли я использовать любой метод linq, чтобы создать мои промышленники?

Это было полезно?

Решение

LINQ к SQL не подвергает свою логику плюрализации. Быстрая проверка с отражателем показывает, что он не использует ужасно сложный алгоритм, хотя:

Если он заканчивается «X», «CH», «SH» или «SS», затем добавьте «ES».
Если он заканчивается «Y», предшествующий согласным, удалите Y и добавьте «IES».
В противном случае добавьте 's'.

Если .NET 4 - вариант, то плюрализация EF гораздо более тщательна. На случай, если вам когда -нибудь понадобится плюрализовать «пневмонолтрамикроскопикликоволканокониоз».

Другие советы

Вам придется использовать отражатель для копания в сборки Visual Studio, которые выполняют генерацию кода для дизайнера Linq-To-SQL.

Также есть .NET-порт вскрытия, который делает ту же работу. Авторский блог сейчас, но он доступен в http://cid-net.googlecode.com/svn/trunk/src/cid.mvc/inflector.cs среди других.

(через Альтернативы Influctor.net)

LINQ в SQL использует довольно простую систему для плюрализации. Если вы собираетесь работать со сложными условиями, я рекомендую вам Используйте что -то вроде инфлятор, который является частью SEDE. Анкет Этот кусок кода, кажется, происходит от Дозвуковой проект.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top