第一步创建项目

VS2017创建WebAPI分层项目(1)——Model层创建

完成后右键Model项目名添加数据库

VS2017创建WebAPI分层项目(1)——Model层创建

VS2017创建WebAPI分层项目(1)——Model层创建

默认直接下一步,然后新建连接,我选的本机装的MSSqlServer,如果要连接远程的话服务器名就输入对应主机ip。

VS2017创建WebAPI分层项目(1)——Model层创建

保存密码后,如果连接成功点击下拉列表就能看到数据库列表,或者点击测试连接看提示信息。

VS2017创建WebAPI分层项目(1)——Model层创建

一般选择是,包含敏感数据。这里的FirstDBEntities是后面程序要点出Model上下文类的重要类。

然后下一步根据自己需要选EF版本,默认最新的6.x即可。

VS2017创建WebAPI分层项目(1)——Model层创建

这里可以提前导入连接数据库中的表(我库里没表所以展不开),当然待会在edmx中更新也行。

VS2017创建WebAPI分层项目(1)——Model层创建

最后的Model层项目结构:

VS2017创建WebAPI分层项目(1)——Model层创建

现在去数据库中创建表和数据:

VS2017创建WebAPI分层项目(1)——Model层创建

打开edmx文件并更新自己的表:

VS2017创建WebAPI分层项目(1)——Model层创建

VS2017创建WebAPI分层项目(1)——Model层创建

VS2017创建WebAPI分层项目(1)——Model层创建

先创建一个控制台项目来测试Model层,右键解决方案名添加新项目(单元测试还没学,应该比控制台更好):

VS2017创建WebAPI分层项目(1)——Model层创建

右键Test项目名把Model层引用添加进来:

VS2017创建WebAPI分层项目(1)——Model层创建

VS2017创建WebAPI分层项目(1)——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);
                }
            }
               
        }
    }
}

  测试结果:

VS2017创建WebAPI分层项目(1)——Model层创建

    常见的错误就是引用没导入(EF和层与层之间的依赖),还有就是那个数据库连接字符串,它在Model层自动生成,在哪一层要测试数据,就要在那一层把字符串添加到那一层的App.config或者Web.config中。

源码参考

相关文章: