src/02_Data/Data.Abstractions/Adapter/DbAdapterAbstract.cs

(开头部分) 2KB

这里只显示每个文件的开头 60 行。登录后可以解锁完整代码。

using System;
using System.Data;
using System.Text;
using Mkh.Data.Abstractions.Descriptors;
using Mkh.Data.Abstractions.Options;
using Mkh.Utils.Helpers;

namespace Mkh.Data.Abstractions.Adapter;

/// <summary>
/// 数据库适配器抽象类
/// </summary>
public abstract class DbAdapterAbstract : IDbAdapter
{
    protected static SequentialGuidGenerator GuidGenerator = new();

    public abstract DbProvider Provider { get; }

    public DbOptions Options { get; set; }

    public virtual char LeftQuote => '"';

    public virtual char RightQuote => '"';

    public virtual char ParameterPrefix => '@';

    public virtual string IdentitySql => "";

    public virtual bool SqlLowerCase => false;

    public virtual string BooleanTrueValue => "1";

    public virtual string BooleanFalseValue => "0";

    public string AppendQuote(string value)
    {
        var val = value?.Trim();
        if (val != null && SqlLowerCase)
            val = val.ToLower();

        return $"{LeftQuote}{val}{RightQuote}";
    }

    public void AppendQuote(StringBuilder sb, string value)
    {
        sb.Append(AppendQuote(value));
    }

    public string AppendParameter(string parameterName)
    {
        return $"{ParameterPrefix}{parameterName}";
    }

    public void AppendParameter(StringBuilder sb, string parameterName)
    {
        sb.Append(AppendParameter(parameterName));
    }

    public abstract IDbConnection NewConnection(string connectionString);

后面还有 12 行代码,解锁后查看完整代码

24 小时内免费解锁 3 个项目,之后 1 积分/个。 规则说明

AI 解读

登录后可用,每次 10 积分,解读结果公开显示在下面。

还没有人解读过这个文件。