码迷,mamicode.com
首页 > 其他好文 > 详细

Entity Frameworkn Extended 支持 Mysq

时间:2015-12-31 18:56:58      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

EntityFramework Extended 是EF的扩展,可以批量删除或更新数据表 ,非常方便

例: 以下代码 为批量删除 f01字段>=3的记录

 myContent db = new myContent();
 db.Tbl01.Where(o => o.f01 >= 3).Delete();
 db.SaveChanges();

结果: 在MSSQL中能正常执行, 但换到Mysql后就不行了.

Git:   https://github.com/loresoft/EntityFramework.Extended.git

根据错误提示检查源码发现, 生成的SQL语句 完全是按MSSQL来生成的. 原本以为Extended不支持Mysql,查看源码才知道原本就是支持Mysql的. 只是在生成SQL语句的时候默认是按MSSQL来生成而已.

 

程序做如下修改

1. 表名的数据库架构前缀默认为 dbo, 需在DbContext类中将默认的数据库架构改为空

    public class myContent : DbContext
    {

        protected override void OnModelCreating(DbModelBuilder modelBuilder)
        {
            modelBuilder.HasDefaultSchema("");
            base.OnModelCreating(modelBuilder);
        }

//    ......


    }

 

2. 列名,表名均用 [ ]  括起来, 在program.cs 最前端插入以下代码

      [STAThread]
        static void Main()
        {
            
            EntityFramework.Container container = new EntityFramework.Container();
            EntityFramework.Locator.RegisterDefaults(container);
            container.Register<EntityFramework.Batch.IBatchRunner>(() => new EntityFramework.Batch.MySqlBatchRunner());
            EntityFramework.Locator.SetContainer(container);

        ......

     }

 

Entity Frameworkn Extended 支持 Mysq

标签:

原文地址:http://www.cnblogs.com/jerron/p/5092417.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!