Asp.net mvc 数据访问层

       理解了一些概念,本节开始尝试创建属于自己的数据访问层,说道数据访问层那必须有数据库咯(数据集合也算,此处以数据库为例),没有数据库就没有数据访问层。

1、先创建属于自己的数据库

      打开已经安装好的SQL Server 2005数据库引擎,输入用户名和密码后连接并创建数据库“SchoolERPDB”:

  

2、创建连接字符串(ConnectionString)

      和WInFrom一样连接数据库类似,打开项目中的Web.config文件,在<Configuration>标签内添加如下代码:

<add name ="SchoolERPDAL" 
     connectionString="Data Source=(local);Initial Catalog=SchoolERPDB;Intergrated Security=True;" 
     providerName="System.Data.SqlClient"/>

3、添加EF引用
      右击项目->管理Nuget包,选择Entity Framework并点击安装,我用的是VS2012,自带该功能,如果你版本低于2012 就需要安装。

     

4、创建数据访问层
      在项目中新建一个“Data Access Layer”文件夹,并在该文件夹中新建SchoolERPDAL类,并在该类中添加引用using System.Data.Entity;该类继承DbContext.



5、创建Teacher类的主键
打开前几节的类,添加下面的引用using System.ComponentModel.DataAnnotations; 添加Teacher的属性,用Key关键字表示主键。

    public class Teacher
    {
        [Key]//作用是将Id设置为Teacher的主键
        public int TeacherId { get; set; }
        public string TeacherName { get; set; }
        public int TeacherAge { get; set; }
    }  

6、定义映射关系
      在SchoolERPDAL类中添加引用     using Mvc_一.Models; 在该类中重写OnModelCreating 方法:

//</Teacher>
protected override void OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<Teacher>().ToTable("TblTeacher");
base.OnModelCreating(modelBuilder);
} 
目的是让程序运行时候自动生成表:TblTeacher

7、在数据库中添加新的属性Teacher

//new 属性 Teachers
public DbSet<Teacher> Teachers { get; set; } 
DbSet表示数据库中能够被查询的所有的Teacher


8、更改以前写过的业务层代码,并从数据库中获取数据,打开TeacherBusinessLayer类,引入  using Mvc_一.Data_Access_Layer; 修改GetTeacher方法:

        public List<Teacher> GetTeacher()
        {
            SchoolERPDAL schoolDal = new SchoolERPDAL();
            return schoolDal.Teachers.ToList();
        }  

9、运行测试后并打开刚才创建的数据库,查看其表



10、在数据库表TblTeacher中自行插入一些数据,并运行测试:


A | explian:
1、DbSet数据集是数据库方面的概念,指的是可以在数据库中查询的实体的集合,当执行Linq查询时,DbSet对象能够将查询进行内部转换,并触发数据库。
在该实例中,数据集是Teachers,是所有Teacher的实体的集合。当每次需要访问Teacher时,会获取“TblTeacher”的所有记录,并转换为Teahcer对象,返回Teacher对象集。
2、在该实例中ConnectionString(连接字符串)的名称和数据访问层的类名是相同的,都是SchoolERPDAL,因此会自动映射,开发者不需要进行手动映射,方便快捷。


转载请标明出处 http://blog.csdn.net/jasonhds/ 版权所有,翻版必究~谢谢合作!

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值