Home > Database > Mysql Tutorial > MVC入门 Model层设计+Code First EntityFrameWork(2)

MVC入门 Model层设计+Code First EntityFrameWork(2)

WBOY
Release: 2016-06-07 15:31:49
Original
1164 people have browsed it

在开始之前,先声明一下,写本系列教程是参照 韩迎龙(Kencery)http://www.cnblogs.com/hanyinglong/category/399820.html 的博客,然后把我的思想融入到这个框架中,如有任何版权问题请给我留言。 切入正题,这一章主要介绍Model层的设计,用的是EntityFrame

在开始之前,先声明一下,写本系列教程是参照

韩迎龙(Kencery)http://www.cnblogs.com/hanyinglong/category/399820.html 的博客,然后把我的思想融入到这个框架中,如有任何版权问题请给我留言。

切入正题,这一章主要介绍Model层的设计,用的是EntityFramework,由于项目初期可能数据库字段经常发生改变,所以用的是CodeFirst。

在Model项目中新建User类,内容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    public class User
    {
        public int Id { get; set; }
        public string Name { get; set; }
        public string Pwd { get; set; }
    }
}
Copy after login
在Model项目中新建Role类,内容如下:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace Model
{
    public class Role
    {
        public int Id { get; set; }
        public int RoleValue { get; set; }
        public string RoleName { get; set; }
    }
}
Copy after login


暂时这两个类的字段定义如此,随着项目的完善,这两个类的字段会有所变化。

现在,该是EntityFramework出场的时候了,

一.建立数据库上下文类(在Model类库中建立HelloMVCDataContext.cs),我理解数据库上下文就是,把数据库的所有表映射到这个类中,操作这个类就像操作数据库字段一样。具体代码如下

using System;
using System.Collections.Generic;
using System.Data.Entity;
using System.Linq;
using System.Text;

namespace Model
{
    public class HelloMVCDataContext : DbContext
    {
        public DbSet<user> UserDb { get; set; }
        public DbSet<role> RoleDb { get; set; }
    }
}</role></user>
Copy after login
需要注意一下,需要引用System.Data.Entity.dll 和EntityFramework.dll我用的是EntityFramework5.0 。


二.在Web.config中配置数据库上下文的连接字符串,具体如下:

<connectionstrings>
    <add name="HelloMVCDataContext" connectionstring="Data Source=(LocalDb)\v11.0;
         Initial Catalog=HelloMVCDataContext;
         Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\HelloMVCDataContext.mdf" providername="System.Data.SqlClient"></add>
  </connectionstrings>
Copy after login

三.测试下code first 是否配置正确,在Ocean.HelloMVC项目中,Controllers文件夹中HomeController类的Index方法中添加代码,具体如下

public ActionResult Index()
        {
            Model.HelloMVCDataContext db = new Model.HelloMVCDataContext();

            db.RoleDb.ToList();

            ViewBag.Message = "修改此模板以快速启动你的 ASP.NET MVC 应用程序。";

            return View();
        }
Copy after login

四.运行程序,如果没有报错。证明配置正确,也可以查看Ocean.HelloMVC项目中App_Data文件夹下时候已经生成配置的数据库。


今天的CodeFirst就暂时到这里,下一章会讲解IDAL和DAL层。




Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template