首页 > 代码库 > 无edmx手动创建EF框架

无edmx手动创建EF框架

现在刚开始来研究EntityFramwork,起初是在vs2012中通过工具来创建EF ,但是对我这种不熟悉菜鸟来说 有很多业务用EF做出来还是有点难度的,今天来手动搭建一个EF框架,大神勿喷

首先:创建一个类Menu        引用命名空间,因为表需要一个外键映射到主键

using System.ComponentModel.DataAnnotations;

 创建类的时候在主键上添加唯一标识符[Key],EF不然执行会报错

 public partial class Menu    {        [Key]        public int MId { get; set; }        public int MPId { get; set; }        public string MName { get; set; }        public string MIco { get; set; }        public string MLink { get; set; }        public int MSort { get; set; }        public string MRemark { get; set; }        public bool MIsShow { get; set; }        public bool MIsDel { get; set; }        public System.DateTime MAddTime { get; set; }    }

第二步:创建EF上下文对象

 

public  class DbContextFactory:DbContext    {              protected override void OnModelCreating(DbModelBuilder modelBuilder)        {            modelBuilder.Conventions.Remove<PluralizingTableNameConvention>();//移除复数表名的契约           }              public DbSet<Menu> Menus { get; set; }    }

 

第三步:配置Webconfig 第一次配置会出现“不支持关键字: "data source” 这是因为metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl这段语句里面修改相对应命名空间的名称

 <add name="DbContextFactory1" connectionString="metadata=res://*/Model.csdl|res://*/Model.ssdl|res://*/Model.msl;provider=System.Data.SqlClient;provider connection string=&quot;data source=.;initial catalog=dbdata;user id=sa;password=123456789;MultipleActiveResultSets=True;App=EntityFramework&quot;" providerName="System.Data.EntityClient" />
View Code

 

 

然后问题出现了“无法加载指定的元数据资源”  然后第二次修改数据配置

<add name="DbContextFactory" connectionString="Server=.;Database=dbdata;Uid=sa;Pwd=123456789;Pooling=true;Connection Lifetime=300;packet size=1000" providerName="System.Data.SqlClient" />

经过修改第二次修改配置文件 ,手动创建EF框架完成,不紧可以用EF使用简单的业务逻辑,如果不熟悉的也可以在此基础上添加添加复杂的数据层操作,注意:Webconfig配置页面的时候 name应该和你创建的EF上下文对象的名称一致

 

无edmx手动创建EF框架