Добавьте автоматически сгенерированный маркер значения LINQ [Column (IsDbGenerated = true)] в класс друзей - PullRequest
0 голосов
/ 10 июня 2010

возможно ли украсить поле сгенерированного класса LINQ с помощью [Column(IsDbGenerated=true)], используя класс партнера (который связан с классом LINQ с помощью [MetadataType(typeof(BuddyMetadata))])?

Моя цель - иметь возможность очистить и снова заполнить конструктор LINQ ORM, не устанавливая свойство «Автосоздание значения» вручную каждый раз, чтобы повторно установить факт автоматической генерации определенных столбцов.

Спасибо!

Ответы [ 2 ]

0 голосов
/ 10 июня 2010

LINQ to SQL не распознает классы друзей.

Вы не можете просто добавить атрибут к частичному, так как свойство уже определено в другом частичном (это то, что классы приятелей были изобретены для решения).

Одним из вариантов будет использование моего шаблона T4 для VS, который копирует функциональность генерации кода LINQ to SQL (я работал в команде продукта), и вы могли бы использовать некоторую логику для обнаружения автоматически генерируемых столбцов и каждый раз выдавать правильный атрибут.

http://l2st4.codeplex.com

0 голосов
/ 10 июня 2010

Вы можете использовать частичный класс - используйте свой собственный частичный класс и украсьте его атрибутом. Это будет безопасно от генерации кода.

Если вам нужно украсить метод, вы можете использовать частичные методы .

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

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