从实体自动生成DBML?

时间:2009-04-19 09:15:31

标签: c# linq-to-sql

有没有办法从实体类而不是数据库表生成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 toolDamiens t4 scripts以创建Linq to SQL类

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

或者我想要从对象而不是DB中的对象生成数据库是否奇怪? :)

2 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

我实际上是以略微不同的方式做到这一点:

  1. 定义数据结构的 XML 模型
  2. 使用XSLT为create,read,upsert等生成存储过程
  3. 使用存储过程创建数据库
  4. 以典型的方式使用Linq→SQL,导入存储过程(我不导入模型,因为Linq→SQL不知道如何使用groovy'2008功能)
  5. 使用模型