Как прочитать файл DBML и отобразить его в объектную модель в.NET?

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

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

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

2 ответа

Решение

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

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

Другие вопросы по тегам