sunli4333

  博客园  :: 首页  :: 新随笔  :: 联系 :: 订阅 订阅  :: 管理

现在刚开始来研究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上下文对象的名称一致

 

posted on 2014-12-18 17:53  WoNiu123  阅读(393)  评论(0编辑  收藏  举报