2009-04-19 73 views
2

有没有办法从实体类而不是数据库表生成DBML文件?这对于原型设计非常有用,只需创建一个逻辑模型并让自动生成的工具创建DBML文件即可。使用DBML文件,可以使用SqlMetal生成Linq to SQL类并完成它。所以,快速原型,一会:从实体自动生成DBML?

1.定义模型

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

2.Run工具(与选择的实体)

3.Get自动生成的文件DBML

4.运行SqlMetal toolDamiens t4 scripts以创建Linq to SQL类

5.针对自动生成的数据上下文和自动生成的数据库e(例如,使用DataContext.CreateDatabase()创建初始数据库)。某种类型的数据库迁移甚至会更好。

还是我奇怪的是想从对象而不是数据库中生成数据库? :)

+0

Nowdays,到一个有趣的选择是使用FluentNHibernate其自动映射功能,具有NHibernate.Linq一起。这样一来,创建数据库模型非常简单,而且自定义自动映射也非常简单。我希望能帮助别人。 – miha 2010-01-13 19:41:31

回答

1

不存在。目前,为Linq to SQL生成DBML的唯一方法是从sql数据库源生成的。

这可能有一天存在的实体框架,但目前不存在。

0

我实际上做一个稍微不同的方式:

  1. 定义的XML 模型我的数据结构的
  2. 使用XSLT生成创建,读取,更新插入存储过程等
  3. 使用存储过程创建数据库
  4. 使用Linq → SQL以典型的方式导入存储过程(我不导入模型,因为Linq → SQL esn't知道如何与常规“2008个功能工作)
  5. 工作与模型