zoukankan      html  css  js  c++  java
  • sqlite采用的ORM包

    关注了两个库的使用方式,一个是Dapper,一个是Simple.Data.考虑一个可选的是ORMLite,

    Dapper和simple.data都比较好用,动态对象的使用妙不可言,区别在于

    //Dapper
     using (var cnn = SimpleDbConnection())
        {
            cnn.Open();
            customer.Id = cnn.Query<long>(
                @"INSERT INTO Customer 
                ( FirstName, LastName, DateOfBirth ) VALUES 
                ( @FirstName, @LastName, @DateOfBirth );
                select last_insert_rowid()", customer).First();
        }
    //Simple.data
    db.Users.Insert(Name: "Steve", Password: "Secret", Age: 21);
    public User FindUserByEmail(string email)
    {
        return Database.Open().Users.FindAllByEmail(email).FirstOrDefault();
    }

    比较起来,Dapper更轻巧,着眼于IDBConnection的扩展使用,SQL的生成偏重于文本模板理念,所以Dapper不需要针对特定数据库进行包装。

    Simple.Data的SQL生成基于动态方法和属性,例如上面的例子,Users和FindAllByEmail不需要定义,Simple.Data会对此解释后生成特定的SQL。

    至于Simple.Data为什么要对数据库要进行包装,暂时不研究,暂时使用Dapper这个库,我现在对Sqlite数据库的使用比较轻度。

    两篇参考文章:

    SQLite + Dapper = Simple Data Access Layer

    Simple.Data for Microsoft .NET Data Access Layer

  • 相关阅读:
    高维协方差矩阵估计
    互信息
    投资组合模型
    R语言
    sklearn
    Python学习
    swagger使用过程中遇到的坑
    mysql杂文
    2018狗年,半年报
    Springboot 手动搭建项目 --redis配置&日志完善+用户名
  • 原文地址:https://www.cnblogs.com/lummon/p/3501150.html
Copyright © 2011-2022 走看看