Как прочитать файл DBML и отобразить его в объектную модель в .NET? - PullRequest
0 голосов
/ 11 ноября 2009

Я планирую написать генератор кода для генерации пользовательского интерфейса (формы, сетки и т. Д.). Поскольку я использую LINQ , я планирую прочитать файл DBML для целей извлечения метаданных. Есть ли какой-нибудь API для чтения объектной модели DBML (базы данных, таблиц, столбцов и ассоциаций)?

Я открыл SQLMetal.exe с помощью Red Gate Software .NET Reflector . Он содержит пространство имен с именем LinqToSqlShared.DbmlObjectModel и, похоже, содержит все, что мне нужно для чтения объектной модели DBML. Плохая новость: это пространство имен не доступно для внешнего потребления, и все классы объявлены как «Друзья» (или запечатаны).

Еще раз, существует ли что-то, например, пространство имен LinqToSqlShared.DbmlObjectModel, для чтения DBML в объектную модель в .NET .? Или я должен написать это сам?

Ответы [ 2 ]

1 голос
/ 11 декабря 2009

Посмотрите, как модель читается в проекте L2ST4 . Вы можете повторно использовать файл T4 .

0 голосов
/ 12 ноября 2009

Взгляните на такой инструмент, как Reegenerator . Мы рассматриваем это как замену генератора кода L2S, потому что у нас есть определенные требования к генерации кода.

...