zoukankan      html  css  js  c++  java
  • Entity Frameworkn Extended 支持 Mysq

    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);
    
            ......
    
         }
  • 相关阅读:
    GLSL预定义变量
    GLSL 内建函数
    GLSL语言基础
    svn:revert to this version 和 revert changes from this version的区别
    win7下搭建opengles2.0编程环境
    iconv字符编码转换
    矩阵-DirectX与OpenGL的不同
    NHibernate分页
    Web网站压力测试工具
    winform系统自动登录实现
  • 原文地址:https://www.cnblogs.com/jerron/p/5092417.html
Copyright © 2011-2022 走看看