Существует ли простой генератор Linq to SQL с двунаправленными атрибутами сериализации? - PullRequest
0 голосов
/ 16 января 2010

Я пытаюсь найти способ создания классов Linq to SQL с атрибутами двунаправленной сериализации. По сути, я хочу тег DataMember (с соответствующим порядком) для каждого свойства ассоциации, а не только для тех, где класс является первичным ключом (как это делают генератор Visual Studio и SQL Metal). Я проверил MyGeneration, но на самом деле не нашел ничего, что помогло бы мне. Я думал, что T4 Toolbox будет моим решением, было бы довольно легко изменить его, чтобы добавить атрибуты, но я получаю исключение на вызывающей стороне моей службы WCF, и я не получил ответ на этот вопрос , Я собираюсь попробовать установить CodeSmith и использовать PLINQO, но я бы предпочел что-то бесплатное.

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

Ответы [ 2 ]

2 голосов
/ 16 января 2010

В итоге я написал свой собственный генератор кода для наших классов L2S. Мы фактически генерируем два набора классов. Одним из них является «легкий» набор сущностей для использования клиентскими приложениями. У этих классов нет сантехники L2S. Но у них есть полные атрибуты datamember с правильным порядком. Тогда у нас есть наши объекты L2S, которые предназначены исключительно для внутреннего использования. Это сработало довольно хорошо.

Будьте осторожны, используя PLINQO. Я внимательно посмотрел на этот продукт. Фактически, большая часть моего генератора кода основана на коде, который генерирует PLINQO. Однако у них есть «серьезный недостаток» (их слова) в том, как они реализовали отношения многие ко многим.

Возможно, вы также захотите взглянуть на продукт под названием «Reegenerator».

Randy

1 голос
/ 16 января 2010

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

...