我有一個現有的數據庫。我希望有一種方法可以從這個數據庫生成類文件。但是,我似乎看到很多從類文件生成數據庫。實體框架 - 生成類
有沒有辦法從使用實體框架現有的數據庫生成的類文件?如果是這樣如何?有人可以指點我一個教程嗎?
我有一個現有的數據庫。我希望有一種方法可以從這個數據庫生成類文件。但是,我似乎看到很多從類文件生成數據庫。實體框架 - 生成類
有沒有辦法從使用實體框架現有的數據庫生成的類文件?如果是這樣如何?有人可以指點我一個教程嗎?
1)首先,您需要使用您的數據庫,生成EDMX
模型。要做到這一點,您應該添加新的項目到您的項目中:
ADO.NET Entity Data Model
。所以,現在你有Model1.edmx
文件在您的項目。
2)生成類中使用你的模型:
EDMX
模型設計。EF 4.x DbContext Generator for C#
。注意到有兩個項目添加到您的項目:
Model1.tt
(這個模板在你的模型生成非常簡單的POCO類爲每個實體)Model1.Context.tt
(此模板生成一個派生的DbContext到使用用於查詢和保存數據)3)讀/寫數據例如:
var dbContext = new YourModelClass(); //class derived from DbContext
var contacts = from c in dbContext.Contacts select c; //read data
contacts.FirstOrDefault().FirstName = "Alex"; //edit data
dbContext.SaveChanges(); //save data to DB
不要忘了你需要4.x版本的EntityFramework。您可以在此下載EF 4.1:Entity Framework 4.1。
我按照你的指示,我創建了'Model1.tt'和'Model1.Context.tt',但是,我無法理解我想怎麼做3步。你能幫我嗎?我編譯,看看我是否有任何結果,但沒有運氣=( – 2013-02-18 13:46:38
你有沒有檢查過,如果你的POCO類和上下文已經生成?或者你在步驟2有一些錯誤? – algreat 2013-02-18 14:14:16
都可以,我使用Nuget創建了對EF的引用沒有錯誤,構建成功 – 2013-02-18 14:28:57
我發現非常好的解決方案。微軟發佈了實體框架電動工具的測試版本:Entity Framework Power Tools Beta 2
在那裏,您可以在某些點擊中爲現有數據庫生成POCO類,派生DbContext和代碼優先映射。這是很不錯的!
安裝後一些上下文菜單選項將被添加到您的Visual Studio。
右鍵單擊C#項目。選擇實體框架帶>逆向工程的Code First(生成POCO類,派生現有數據庫的DbContext和代碼首先映射):
然後選擇您的數據庫,然後單擊確定。就這樣!這很容易。
這個過程也是比較好的。例如你在做什麼(一步一步地),爲什麼? – 2014-06-04 07:50:00
EDMX模型不會與EF7工作,但我發現這似乎是非常強大的一個社區/專業產品: http://www.devart.com/entitydeveloper/editions.html
看到這個http://stackoverflow.com/questions/9876619/ entity-framework-5-0-beta-will-a-dbcontext-code-generation-template-be-provide – AmirHossein 2012-11-03 19:57:39