2014-02-25 48 views
1

我來到linq-to-SQL世界,我想創建一個新的linq-to-EF6數據上下文。linq-to-EF從數據庫優先開始

使用Linq-to-SQL,您只需創建一個新的數據模型,輸出設計器,將現有數據庫中的表格拖放到該模型上。在這裏,我試圖用Add ->EF 6.x DbContext Generator創建一個文件,我沒有找到一個可以從數據庫中拖放表的設計器;相反,我得到2個黑色的.tt文件。我在網上看過,大多數教程都是關於代碼優先的方法,但就我而言,我已經擁有了數據庫。

我需要做什麼來創建我可以在Linq-to-EF中使用的datacontext?

謝謝。

回答

2
  1. 將「ADO.Net Entity Data Model」添加到您的項目中。
  2. 從零開始創建模型或從現有數據庫創建模型
  3. 將「EF 6.x DbContext Generator」添加到項目中。
  4. 編輯Model.tt文件,並通過您的EDMX的名稱替換"$edmxInputFile$"文件
  5. 編輯Model.Context.tt文件,並通過您的EDMX的名稱替換"$edmxInputFile$"文件

的* .TT文件T4 templates,這是基本上代碼生成代碼。他們的角色是爲你解析EDMX文件,並生成關聯的實體(Model.tt)和DbContext(Model.Context.tt)。

要執行T4模板(例如,在修改edmx後更新生成的DbContext /實體),請右鍵單擊* .tt文件並單擊「運行自定義工具」。

+0

好的,謝謝,這就像一個魅力。 – frenchie

1

ADO.NET實體數據模型添加到您的項目中。它將使您有機會選擇現有的數據庫作爲模型的來源。