基于 EntityFramework 的数据库主从读写分离

现在刚开始来研究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 阅读( ...) 评论( ...) 编辑 收藏

转载于:https://www.cnblogs.com/sunli4295/p/EF-EntityFramwork.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值