Подтвердить что ты не робот

Linq to SQL: Как остановить изменение имени сгенерированного автогенератора?

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

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

Спасибо

4b9b3361

Ответ 1

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

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

Затем вам нужно будет перекомпилировать ваш проект, и он должен обратиться к именованию

Ответ 2

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

    [Table("QTPhotos")]
    public class QTPhoto 

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

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