2009-04-19 87 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. 工作與模型