【发布时间】:2009-04-19 09:15:30
【问题描述】:
有没有办法从实体类而不是从数据库表中生成 DBML 文件?这对于原型设计非常有用,其中只需创建一个逻辑模型并让自动生成的工具创建 DBML 文件。使用 DBML 文件,可以使用 SqlMetal 生成 Linq to SQL 类并完成它。因此,要快速制作原型,您可以:
1.定义模型
public class Person
{
public string Name { get; set; }
public int Age { get; set; }
// etc
}
2.运行工具(选择实体)
3.获取自动生成的DBML文件
4.运行SqlMetal tool或Damiens t4 scripts创建Linq to SQL类
5.针对自动生成的数据上下文和自动生成的数据库编写代码(例如,使用 DataContext.CreateDatabase() 创建初始数据库)。某种形式的数据库迁移会更好。
或者我想从对象而不是从 DB 中生成对象是不是很奇怪? :)
【问题讨论】:
-
现在,一个有趣的替代方案是使用具有自动映射功能的 FluentNHibernate 以及 NHibernate.Linq。这样,很容易提出数据库模型,也很容易自定义自动映射。我希望这对其他人也有帮助。
标签: c# linq-to-sql