2009-04-19 3 views
2

Есть ли способ генерировать DBML-файл из классов сущностей вместо таблиц базы данных? Это было бы очень полезно для прототипирования, когда вы просто создаете логическую модель и позволяете автогенерируемому инструменту создавать файл DBML. С DBML-файлом можно использовать SqlMetal для генерации классов Linq to SQL и выполнять с ним. Таким образом, для быстрого создания прототипа, один будет:Автоматическое создание DBML из объектов?

1.Define модели

public class Person 
{ 
    public string Name { get; set; } 
    public int Age { get; set; } 
    // etc 
} 

2.Запустите инструмент (с выбранными лицами)

3.Get автоматически созданное DBML файл

4.Run SqlMetal tool или Damiens t4 scripts для создания классов Linq to SQL

5.Код против автоматически генерируемых данных и контекстно-зависимых баз данных e (например, с помощью DataContext.CreateDatabase() для создания внутренней базы данных). Какой-то вид миграции БД будет еще приятнее.

Или я странно для желающих генерировать БД из объектов вместо объектов из БД? :)

+0

Nowdays, интересная альтернатива, которая заключается в использовании FluentNHibernate с возможностями автоматического отображения, наряду с NHibernate.Linq. Таким образом, очень просто придумать модель базы данных, и очень легко настроить автоматическое сопоставление. Я надеюсь, что это поможет и другим. – miha

ответ

1

Не существует. В настоящее время единственным способом генерации DBML для Linq to SQL является источник базы данных sql.

Это может когда-нибудь существовать для платформы Entity Framework, но в то же время не существует.

0

я на самом деле сделать это в несколько иной манере:

  1. Определить XML модель моих структур данных
  2. Использование XSLT для создания хранимой процедуры для создания, чтения, upsert и т.д.
  3. Использование хранимых процедур для создания базы данных
  4. Работа с Linq → SQL в типичном режиме, импортирование хранимых процедур (я не импортирую модель, потому что Linq → SQL do esn't знают, как работать с заводной «2008 функций)
  5. Работа с моделью