第一步创建项目
完成后右键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中。