src/02_Data/Adapters/Data.Adapter.Sqlite/SqliteDbAdapter.cs
(开头部分) 5KB这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。
using System;
using System.Data;
using System.Text;
using Dapper;
using Microsoft.Data.Sqlite;
using Mkh.Data.Abstractions.Adapter;
using Mkh.Data.Abstractions.Descriptors;
using Mkh.Utils.Helpers;
namespace Mkh.Data.Adapter.Sqlite;
public class SqliteDbAdapter : DbAdapterAbstract
{
public SqliteDbAdapter()
{
SqlMapper.AddTypeHandler(new GuidTypeHandler());
}
public override DbProvider Provider => DbProvider.Sqlite;
/// <summary>
/// 左引号
/// </summary>
public override char LeftQuote => '[';
/// <summary>
/// 右引号
/// </summary>
public override char RightQuote => ']';
/// <summary>
/// 获取最后新增ID语句
/// </summary>
public override string IdentitySql => "SELECT LAST_INSERT_ROWID() ID;";
public override IDbConnection NewConnection(string connectionString)
{
return new SqliteConnection(connectionString);
}
public override string GenerateFirstSql(string select, string table, string where, string sort, string groupBy = null, string having = null)
{
return GeneratePagingSql(select, table, where, sort, 0, 1, groupBy, having);
}
public override string GeneratePagingSql(string select, string table, string where, string sort, int skip, int take, string groupBy = null, string having = null)
{
var sqlBuilder = new StringBuilder();
sqlBuilder.AppendFormat("SELECT {0} FROM {1}", select, table);
if (where.NotNull())
sqlBuilder.AppendFormat(" {0}", where);
if (groupBy.NotNull())
sqlBuilder.Append(groupBy);
if (having.NotNull())
sqlBuilder.Append(having);
if (sort.NotNull())
sqlBuilder.AppendFormat("{0}", sort);
后面还有 124 行代码,解锁后查看完整代码
24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明
AI 解读
登录后可用,每次 10 积分,解读结果公开显示在下面。
还没有人解读过这个文件。
