Есть ли способ генерировать 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() для создания внутренней базы данных). Какой-то вид миграции БД будет еще приятнее.
Или я странно для желающих генерировать БД из объектов вместо объектов из БД? :)
Nowdays, интересная альтернатива, которая заключается в использовании FluentNHibernate с возможностями автоматического отображения, наряду с NHibernate.Linq. Таким образом, очень просто придумать модель базы данных, и очень легко настроить автоматическое сопоставление. Я надеюсь, что это поможет и другим. – miha