微软信仰中心 2018-04-10
1.连接SQLServer,创建数据库TestDB;
2.添加EF引用,点击工具-NuGet包管理器-管理解决方案的NuGet程序包,

搜索EntityFramework包,点击安装;

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<span> System.ComponentModel.DataAnnotations;
namespace<span> WebApplication6.Models
{
public class<span> PlayerModel
{
[Key]
public int PlayerID { get; set<span>; }
public string EnglishName { get; set<span>; }
public string ChineseName { get; set<span>; }
}
}5.在项目下添加“DataAccessLayer”文件夹,并且添加“TestDBDAL.cs”新类,并且引用System.Data.Entity命名空间,使该类继承DbContext类。定义映射关系,重写OnModelCreating方法,其中Players为表名,运行时会自动生成在SQLServer中。再在该类下定义一个DbSet类型的新属性,表示数据库中能查询到的所有play数据;
using<span> System.Data.Entity;
using<span> WebApplication6.Models;
namespace<span> WebApplication6.DataAccessLayer
{
public class<span> TestDBDAL : DbContext
{
public DbSet<PlayerModel> Players { get; set<span>; }
protected override void<span> OnModelCreating(DbModelBuilder modelBuilder)
{
modelBuilder.Entity<PlayerModel>().ToTable("Players"<span>);
base<span>.OnModelCreating(modelBuilder);
}
}
}6.在HomeController.cs下的Index方法中添加获取Players的方法;
public<span> ActionResult Index()
{
TestDBDAL testDBDAL = new<span> TestDBDAL();
List<PlayerModel> listPlayers =<span> testDBDAL.Players.ToList();
return<span> View();
}7.运行项目;刷新TestDB数据库,会看到已经新建了Players表,并且有3列属性,其中PlayerID为主键。
EF可以配置Oracle数据库,但不知道为什么一直配置不好。其实可以使用使用NUGET管理程序包,自动配置数据库,但需要注意的时,需要安装两个包,而并不是一个,我一直以为时一个,但已启动程序就会出错。