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);
    
            ......
    
         }
  • 相关阅读:
    反弹连接的shellcode
    md5反查网站
    一种新的Heap区溢出技术分析
    ckeditor漏洞
    Fedora Core 4下的一些小问题
    MYCCL特征码定位器详细使用之内存定位
    dedecms5.7最新注入和上传漏洞
    脱壳方法汇总
    一种小堆(heap)溢出的另类利用方法
    对付非法操作! 系统做了如下记录!
  • 原文地址:https://www.cnblogs.com/jerron/p/5092417.html
Copyright © 2011-2022 走看看