Linq to SQL: Как остановить переименование автоматически сгенерированного имени объекта? - PullRequest
16 голосов
/ 03 декабря 2008

В Visual Studio 2008, когда я перетаскиваю таблицу базы данных на экран dbml, любые таблицы, заканчивающиеся буквой s, автоматически удаляются из объекта dbml. Есть ли способ отключить это?

Кроме того, коллекция строк также добавляется к имени свойства коллекции. Есть ли способ изменить это?

Спасибо

Ответы [ 2 ]

37 голосов
/ 03 декабря 2008

Вам необходимо отключить имена таблиц Pluralize для конструктора LINQ to SQL.

Для этого перейдите в Инструменты -> Параметры -> Инструменты базы данных -> O / R Designer и измените Плюрализация имен на false .

Тогда вам нужно будет перекомпилировать ваш проект, и он должен указывать имя

0 голосов
/ 03 декабря 2014

В первом сценарии кода вы можете справиться с некоторыми проблемами, которые возникают, например, на более детальном уровне, просто указав имя таблицы на объекте с атрибутом Table:

    [Table("QTPhotos")]
    public class QTPhoto 

Первоначально я обнаружил, что у нас было простое имя сущности «Фото», но это противоречило некоторым вещам (с рядом имен наших сущностей), поэтому мы начали квалифицировать их («QT» в качестве примера препинда). ), и вдруг эта проблема возникла. Бьюсь об заклад, это потому, что «Фото» - это распознанное слово, оканчивающееся на «о», которое не означает «...» (как в Potat oes ), но «QTPhoto» не было, то есть пытался найти таблицу с именем "QTPhotoes".

Простая установка имени таблицы исправляет это.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...