2009-10-28 3 views
0

Я рассматриваю возможность внесения изменений в частичные классы, созданные из файла DBML. Я читал, используя инструмент sqlmetal.exe, но кажется, что вы не можете много настраивать то, что оно на самом деле выплевывает.Создание пользовательских файлов из файла dbml?

Я хочу внести изменения в файл для целей сериализации, я хотел бы добавить Data Member Attribute к указанным свойствам в сгенерированных частичных классах.

Можно ли это сделать с помощью инструмента sqlmetal.exe или мне нужно будет написать собственный инструмент для генерации файла?

ответ

0

Вы можете проверить шаблоны T4 или CodeSmith для генерации файлов.

0

Нет, это не так. Вы можете выполнить это с помощью Entity Framework.

http://blogs.msdn.com/jkowalski/archive/2008/05/12/transparent-lazy-loading-for-entity-framework-part-1.aspx

Код написан Ярославом Ковальский работает примерно так же, что Linq к SQL делает.

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

0

Если вы хотите добавить атрибуты datacontract и datamember, просто измените свойство «Serialization Mode» в свойствах datacontext конструктора L2S от «None» до «Unidirectional». Все классы сущностей будут затем datacontracts, а их члены будут данными ...

+0

Я заметил это, но я хочу только сериализовать определенные столбцы/таблицы, поэтому не хочу, чтобы это было широко распространено в datacontext. В любом случае, чтобы это сделать? – Fermin

+0

Нет, тогда вам нужно выключить генератор кода, как упомянули другие. Взгляните на шаблоны T4 от Damien Guard: http://l2st4.codeplex.com/ – KristoferA

0

Предстоящая бета-версия Entity Developer будет содержать настраиваемые T4-подобные шаблоны для генерации кода.
Также мы добавили функции для разделения сгенерированного кода на отдельные файлы.

Смежные вопросы