第一步創建項目
完成後右鍵Model項目名添加數據庫
默認直接下一步,然後新建連接,我選的本機裝的MSSqlServer,如果要連接遠程的話服務器名就輸入對應主機ip。
保存密碼後,如果連接成功點擊下拉列表就能看到數據庫列表,或者點擊測試連接看提示信息。
一般選擇是,包含敏感數據。這裏的FirstDBEntities是後面程序要點出Model上下文類的重要類。
然後下一步根據自己需要選EF版本,默認最新的6.x即可。
這裏可以提前導入連接數據庫中的表(我庫裏沒表所以展不開),當然待會在edmx中更新也行。
最後的Model層項目結構:
現在去數據庫中創建表和數據:
打開edmx文件並更新自己的表:
先創建一個控制檯項目來測試Model層,右鍵解決方案名添加新項目(單元測試還沒學,應該比控制檯更好):
右鍵Test項目名把Model層引用添加進來:
順便也用Nuget把EF依賴添加進來。
最重要的是把Model項目裏App.config中的連接字符串ConnectionStrings加到Test項目的App.config中。
編輯Program.cs,來測試:
using MyWebAPIDemo.DAL.Model;
using System;
using System.Linq;
namespace Test
{
class Program
{
static void Main(string[] args)
{
using (var context = new FirstDBEntities())
{
var list = context.Person.ToList();
foreach (Person p in list)
{
Console.WriteLine("Person name:{0}, Person age:{1}", p.name, p.age);
}
}
}
}
}
測試結果:
常見的錯誤就是引用沒導入(EF和層與層之間的依賴),還有就是那個數據庫連接字符串,它在Model層自動生成,在哪一層要測試數據,就要在那一層把字符串添加到那一層的App.config或者Web.config中。