1.连接SQLServer,创建数据库TestDB;

asp.net 附加到进程 asp.net ef_EntityFramework

 

2.添加EF引用,点击工具-NuGet包管理器-管理解决方案的NuGet程序包,

asp.net 附加到进程 asp.net ef_ASP.NET_02

搜索EntityFramework包,点击安装;

asp.net 附加到进程 asp.net ef_asp.net 附加到进程_03

3.在Web.config中添加节点

<connectionStrings>
    <add connectionString="Data Source=(local);Initial Catalog=TestDB;Integrated Security=True" name="TestDBDAL" providerName="System.Data.SqlClient" />
  </connectionStrings>

  其中Data Source为服务器名,Initial Catalog为刚才在SQLServer中新建的数据库名,name则是接下来在代码中会使用到的名字;

4.在Models文件下添加“PlayerModel”新类,为该类添加三个属性,并引用System.ComponentModel.DataAnnotations命名空间,在PlayerID属性上加上[Key]关键字标识主键;

using System.ComponentModel.DataAnnotations;

namespace WebApplication6.Models
{
    public class PlayerModel
    {
        [Key]
        public int PlayerID { get; set; }
        public string EnglishName { get; set; }
        public string ChineseName { get; set; }
    }
}

 

5.在项目下添加“DataAccessLayer”文件夹,并且添加“TestDBDAL.cs”新类,并且引用System.Data.Entity命名空间,使该类继承DbContext类。定义映射关系,重写OnModelCreating方法,其中Players为表名,运行时会自动生成在SQLServer中。再在该类下定义一个DbSet类型的新属性,表示数据库中能查询到的所有play数据;

using System.Data.Entity;
using WebApplication6.Models;

namespace WebApplication6.DataAccessLayer
{
    public class TestDBDAL : DbContext
    {
        public DbSet<PlayerModel> Players { get; set; }
        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.Entity<PlayerModel>().ToTable("Players");
            base.OnModelCreating(modelBuilder);
        }
    }
}

 

6.在HomeController.cs下的Index方法中添加获取Players的方法;

public ActionResult Index()
  {
    TestDBDAL testDBDAL = new TestDBDAL();
    List<PlayerModel> listPlayers = testDBDAL.Players.ToList();
    return View();
  }

 

7.运行项目;刷新TestDB数据库,会看到已经新建了Players表,并且有3列属性,其中PlayerID为主键。

asp.net 附加到进程 asp.net ef_MVC_04