
// <auto-generated />

using System;
using System.Reflection;
using System.Resources;
using System.Globalization;
using System.Threading;

namespace FreeSql
{
    /// <summary>
    ///     <para>
    ///		    String resources used in FreeSql exceptions, etc.
    ///     </para>
    ///     <para>
    ///		    These strings are exposed publicly for use by database providers and extensions.
    ///         It is unusual for application code to need these strings.
    ///     </para>
    /// </summary>
    public static class CoreStrings
    {
        private static readonly ResourceManager _resourceManager = new ResourceManager("FreeSql.Properties.CoreStrings", typeof(CoreStrings).Assembly);
		
        private static CultureInfo _resourceCulture;
		
        /// <summary>
        ///   重写当前线程的 CurrentUICulture 属性，对
        ///   使用此强类型资源类的所有资源查找执行重写。
        /// </summary>
        public static CultureInfo Culture
        {
            get
            {
                return _resourceCulture;
            }
            set
            {
                _resourceCulture = value;
            }
        }

        /// <summary>
        /// [Table(AsTable = "{asTable}")] 特性值格式错误
        /// </summary>
        public static string AsTable_PropertyName_FormatError(object asTable)
            => string.Format(
                GetString("AsTable_PropertyName_FormatError", nameof(asTable)),
                asTable);

        /// <summary>
        /// [Table(AsTable = xx)] 设置的属性名 {atmGroupsValue} 不是 DateTime 类型
        /// </summary>
        public static string AsTable_PropertyName_NotDateTime(object atmGroupsValue)
            => string.Format(
                GetString("AsTable_PropertyName_NotDateTime", nameof(atmGroupsValue)),
                atmGroupsValue);

        /// <summary>
        /// {name}: Failed to get resource {statistics}
        /// </summary>
        public static string Available_Failed_Get_Resource(object name, object statistics)
            => string.Format(
                GetString("Available_Failed_Get_Resource", nameof(name), nameof(statistics)),
                name, statistics);

        /// <summary>
        /// {name}: An exception needs to be thrown
        /// </summary>
        public static string Available_Thrown_Exception(object name)
            => string.Format(
                GetString("Available_Thrown_Exception", nameof(name)),
                name);

        /// <summary>
        /// 错误的表达式格式 {column}
        /// </summary>
        public static string Bad_Expression_Format(object column)
            => string.Format(
                GetString("Bad_Expression_Format", nameof(column)),
                column);

        /// <summary>
        /// Chunk 功能之前不可使用 Select
        /// </summary>
        public static string Before_Chunk_Cannot_Use_Select
            => GetString("Before_Chunk_Cannot_Use_Select");

        /// <summary>
        /// 安全起见，请务必在事务开启之后，再使用 ForUpdate
        /// </summary>
        public static string Begin_Transaction_Then_ForUpdate
            => GetString("Begin_Transaction_Then_ForUpdate");

        /// <summary>
        /// 不能为 null
        /// </summary>
        public static string Cannot_Be_NULL
            => GetString("Cannot_Be_NULL");

        /// <summary>
        /// {name} 不能为 null
        /// </summary>
        public static string Cannot_Be_NULL_Name(object name)
            => string.Format(
                GetString("Cannot_Be_NULL_Name", nameof(name)),
                name);

        /// <summary>
        /// 无法匹配 {property}
        /// </summary>
        public static string Cannot_Match_Property(object property)
            => string.Format(
                GetString("Cannot_Match_Property", nameof(property)),
                property);

        /// <summary>
        /// {property} 无法解析为表达式树
        /// </summary>
        public static string Cannot_Resolve_ExpressionTree(object property)
            => string.Format(
                GetString("Cannot_Resolve_ExpressionTree", nameof(property)),
                property);

        /// <summary>
        /// 参数 masterConnectionString 不可为空，请检查 UseConnectionString
        /// </summary>
        public static string Check_UseConnectionString
            => GetString("Check_UseConnectionString");

        /// <summary>
        /// 提交
        /// </summary>
        public static string Commit
            => GetString("Commit");

        /// <summary>
        /// 连接失败，准备切换其他可用服务器
        /// </summary>
        public static string Connection_Failed_Switch_Servers
            => GetString("Connection_Failed_Switch_Servers");

        /// <summary>
        /// 自定义表达式解析错误：类型 {exp3MethodDeclaringType} 需要定义 static ThreadLocal&lt;ExpressionCallContext&gt; 字段、字段、字段（重要三次提醒）
        /// </summary>
        public static string Custom_Expression_ParsingError(object exp3MethodDeclaringType)
            => string.Format(
                GetString("Custom_Expression_ParsingError", nameof(exp3MethodDeclaringType)),
                exp3MethodDeclaringType);

        /// <summary>
        /// Custom { 反射信息 }不能为空，格式：{ 静态方法名 }{ 空格 }{ 反射信息 }
        /// </summary>
        public static string Custom_Reflection_IsNotNull
            => GetString("Custom_Reflection_IsNotNull");

        /// <summary>
        /// Custom { 静态方法名 }不能为空，格式：{ 静态方法名 }{ 空格 }{ 反射信息 }
        /// </summary>
        public static string Custom_StaticMethodName_IsNotNull
            => GetString("Custom_StaticMethodName_IsNotNull");

        /// <summary>
        /// Custom 对应的{{ 静态方法名 }}：{fiValueCustomArray} 未设置 [DynamicFilterCustomAttribute] 特性
        /// </summary>
        public static string Custom_StaticMethodName_NotSet_DynamicFilterCustom(object fiValueCustomArray)
            => string.Format(
                GetString("Custom_StaticMethodName_NotSet_DynamicFilterCustom", nameof(fiValueCustomArray)),
                fiValueCustomArray);

        /// <summary>
        /// Custom 要求 Field 应该空格分割，并且长度为 2，格式：{ 静态方法名 }{ 空格 }{ 反射信息 }
        /// </summary>
        public static string CustomFieldSeparatedBySpaces
            => GetString("CustomFieldSeparatedBySpaces");

        /// <summary>
        /// 操作的数据类型({dataDisplayCsharp}) 与 AsType({tableTypeDisplayCsharp}) 不一致，请检查。
        /// </summary>
        public static string DataType_AsType_Inconsistent(object dataDisplayCsharp, object tableTypeDisplayCsharp)
            => string.Format(
                GetString("DataType_AsType_Inconsistent", nameof(dataDisplayCsharp), nameof(tableTypeDisplayCsharp)),
                dataDisplayCsharp, tableTypeDisplayCsharp);

        /// <summary>
        /// DateRange 要求 Value 应该逗号分割，并且长度为 2
        /// </summary>
        public static string DateRange_Comma_Separateda_By2Char
            => GetString("DateRange_Comma_Separateda_By2Char");

        /// <summary>
        /// DateRange 要求 Value[1] 格式必须为：yyyy、yyyy-MM、yyyy-MM-dd、yyyy-MM-dd HH、yyyy、yyyy-MM-dd HH:mm
        /// </summary>
        public static string DateRange_DateFormat_yyyy
            => GetString("DateRange_DateFormat_yyyy");

        /// <summary>
        /// 记录可能不存在，或者【行级乐观锁】版本过旧，更新数量{sourceCount}，影响的行数{affrows}。
        /// </summary>
        public static string DbUpdateVersionException_RowLevelOptimisticLock(object sourceCount, object affrows)
            => string.Format(
                GetString("DbUpdateVersionException_RowLevelOptimisticLock", nameof(sourceCount), nameof(affrows)),
                sourceCount, affrows);

        /// <summary>
        /// SlaveConnectionString 数量与 SlaveWeights 不相同
        /// </summary>
        public static string Different_Number_SlaveConnectionString_SlaveWeights
            => GetString("Different_Number_SlaveConnectionString_SlaveWeights");

        /// <summary>
        /// ColumnAttribute.Name {colattrName} 重复存在，请检查（注意：不区分大小写）
        /// </summary>
        public static string Duplicate_ColumnAttribute(object colattrName)
            => string.Format(
                GetString("Duplicate_ColumnAttribute", nameof(colattrName)),
                colattrName);

        /// <summary>
        /// 属性名 {pName} 重复存在，请检查（注意：不区分大小写）
        /// </summary>
        public static string Duplicate_PropertyName(object pName)
            => string.Format(
                GetString("Duplicate_PropertyName", nameof(pName)),
                pName);

        /// <summary>
        /// {function} 功能要求实体类 {tableCsName} 必须有主键
        /// </summary>
        public static string Entity_Must_Primary_Key(object function, object tableCsName)
            => string.Format(
                GetString("Entity_Must_Primary_Key", nameof(function), nameof(tableCsName)),
                function, tableCsName);

        /// <summary>
        /// {tbTypeFullName} 是父子关系，但是 MySql 8.0 以下版本中不支持组合多主键
        /// </summary>
        public static string Entity_MySQL_VersionsBelow8_NotSupport_Multiple_PrimaryKeys(object tbTypeFullName)
            => string.Format(
                GetString("Entity_MySQL_VersionsBelow8_NotSupport_Multiple_PrimaryKeys", nameof(tbTypeFullName)),
                tbTypeFullName);

        /// <summary>
        /// {tbTypeFullName} 不是父子关系，无法使用该功能
        /// </summary>
        public static string Entity_NotParentChild_Relationship(object tbTypeFullName)
            => string.Format(
                GetString("Entity_NotParentChild_Relationship", nameof(tbTypeFullName)),
                tbTypeFullName);

        /// <summary>
        /// 这个特别的子查询不能解析
        /// </summary>
        public static string EspeciallySubquery_Cannot_Parsing
            => GetString("EspeciallySubquery_Cannot_Parsing");

        /// <summary>
        /// 表达式错误，它的顶级对象不是 ParameterExpression：{exp}
        /// </summary>
        public static string Expression_Error_Use_ParameterExpression(object exp)
            => string.Format(
                GetString("Expression_Error_Use_ParameterExpression", nameof(exp)),
                exp);

        /// <summary>
        /// 表达式错误，它不是连续的 MemberAccess 类型：{exp}
        /// </summary>
        public static string Expression_Error_Use_Successive_MemberAccess_Type(object exp)
            => string.Format(
                GetString("Expression_Error_Use_Successive_MemberAccess_Type", nameof(exp)),
                exp);

        /// <summary>
        /// ExpressionTree 转换类型错误，值({value})，类型({valueTypeFullName})，目标类型({typeFullName})，{exMessage}
        /// </summary>
        public static string ExpressionTree_Convert_Type_Error(object value, object valueTypeFullName, object typeFullName, object exMessage)
            => string.Format(
                GetString("ExpressionTree_Convert_Type_Error", nameof(value), nameof(valueTypeFullName), nameof(typeFullName), nameof(exMessage)),
                value, valueTypeFullName, typeFullName, exMessage);

        /// <summary>
        /// 未能解析分表字段值 {sqlWhere}
        /// </summary>
        public static string Failed_SubTable_FieldValue(object sqlWhere)
            => string.Format(
                GetString("Failed_SubTable_FieldValue", nameof(sqlWhere)),
                sqlWhere);

        /// <summary>
        /// AsTable 未实现的功能 {asTable}
        /// </summary>
        public static string Functions_AsTable_NotImplemented(object asTable)
            => string.Format(
                GetString("Functions_AsTable_NotImplemented", nameof(asTable)),
                asTable);

        /// <summary>
        /// GBase 暂时不支持逗号以外的分割符
        /// </summary>
        public static string GBase_NotSupport_OtherThanCommas
            => GetString("GBase_NotSupport_OtherThanCommas");

        /// <summary>
        /// tableName：{tableName} 生成了相同的分表名
        /// </summary>
        public static string Generated_Same_SubTable(object tableName)
            => string.Format(
                GetString("Generated_Same_SubTable", nameof(tableName)),
                tableName);

        /// <summary>
        /// GetPrimarys 传递的参数 "{primary}" 不正确，它不属于字典数据的键名
        /// </summary>
        public static string GetPrimarys_ParameterError_IsNotDictKey (object primary)
            => string.Format(
                GetString("GetPrimarys_ParameterError_IsNotDictKey ", nameof(primary)),
                primary);

        /// <summary>
        /// 已经指定了 {first}，不能再指定 {second}
        /// </summary>
        public static string Has_Specified_Cannot_Specified_Second(object first, object second)
            => string.Format(
                GetString("Has_Specified_Cannot_Specified_Second", nameof(first), nameof(second)),
                first, second);

        /// <summary>
        /// {tb2DbName}.{mp2MemberName} 被忽略，请检查 IsIgnore 设置，确认 get/set 为 public
        /// </summary>
        public static string Ignored_Check_Confirm_PublicGetSet(object tb2DbName, object mp2MemberName)
            => string.Format(
                GetString("Ignored_Check_Confirm_PublicGetSet", nameof(tb2DbName), nameof(mp2MemberName)),
                tb2DbName, mp2MemberName);

        /// <summary>
        /// Include 参数类型错误
        /// </summary>
        public static string Include_ParameterType_Error
            => GetString("Include_ParameterType_Error");

        /// <summary>
        /// Include 参数类型错误，集合属性请使用 IncludeMany
        /// </summary>
        public static string Include_ParameterType_Error_Use_IncludeMany
            => GetString("Include_ParameterType_Error_Use_IncludeMany");

        /// <summary>
        /// Include 参数类型错误，表达式类型应该为 MemberAccess
        /// </summary>
        public static string Include_ParameterType_Error_Use_MemberAccess
            => GetString("Include_ParameterType_Error_Use_MemberAccess");

        /// <summary>
        /// IncludeMany 类型 {tbTypeDisplayCsharp} 的属性 {collMemMemberName} 不是有效的导航属性，提示：IsIgnore = true 不会成为导航属性
        /// </summary>
        public static string IncludeMany_NotValid_Navigation(object tbTypeDisplayCsharp, object collMemMemberName)
            => string.Format(
                GetString("IncludeMany_NotValid_Navigation", nameof(tbTypeDisplayCsharp), nameof(collMemMemberName)),
                tbTypeDisplayCsharp, collMemMemberName);

        /// <summary>
        /// IncludeMany {navigateSelector} 参数错误，Select 只可以使用一个参数的方法，正确格式：.Select(t =&gt;new TNavigate {{}})
        /// </summary>
        public static string IncludeMany_ParameterError_OnlyUseOneParameter(object navigateSelector)
            => string.Format(
                GetString("IncludeMany_ParameterError_OnlyUseOneParameter", nameof(navigateSelector)),
                navigateSelector);

        /// <summary>
        /// IncludeMany {navigateSelector} 参数错误，Select lambda参数返回值必须和 {collMemElementType} 类型一致
        /// </summary>
        public static string IncludeMany_ParameterError_Select_ReturnConsistentType(object navigateSelector, object collMemElementType)
            => string.Format(
                GetString("IncludeMany_ParameterError_Select_ReturnConsistentType", nameof(navigateSelector), nameof(collMemElementType)),
                navigateSelector, collMemElementType);

        /// <summary>
        /// IncludeMany 参数1 类型错误，表达式类型应该为 MemberAccess
        /// </summary>
        public static string IncludeMany_ParameterType_Error_Use_MemberAccess
            => GetString("IncludeMany_ParameterType_Error_Use_MemberAccess");

        /// <summary>
        /// IncludeMany {navigateSelector} 参数类型错误，正确格式： a.collections.Take(1).Where(c =&gt;c.aid == a.id).Select(a=&gt; new TNavigate{{}})
        /// </summary>
        public static string IncludeMany_ParameterTypeError(object navigateSelector)
            => string.Format(
                GetString("IncludeMany_ParameterTypeError", nameof(navigateSelector)),
                navigateSelector);

        /// <summary>
        /// ISelect.InsertInto() 未选择属性: {displayCsharp}
        /// </summary>
        public static string InsertInto_No_Property_Selected(object displayCsharp)
            => string.Format(
                GetString("InsertInto_No_Property_Selected", nameof(displayCsharp)),
                displayCsharp);

        /// <summary>
        /// ISelect.InsertInto() 类型错误: {displayCsharp}
        /// </summary>
        public static string InsertInto_TypeError(object displayCsharp)
            => string.Format(
                GetString("InsertInto_TypeError", nameof(displayCsharp)),
                displayCsharp);

        /// <summary>
        /// InsertOrUpdate 功能执行 merge into 要求实体类 {CsName} 必须有主键
        /// </summary>
        public static string InsertOrUpdate_Must_Primary_Key(object CsName)
            => string.Format(
                GetString("InsertOrUpdate_Must_Primary_Key", nameof(CsName)),
                CsName);

        /// <summary>
        /// InsertOrUpdate&lt;&gt;的泛型参数 不支持 {typeofT1},请传递您的实体类
        /// </summary>
        public static string InsertOrUpdate_NotSuport_Generic_UseEntity(object typeofT1)
            => string.Format(
                GetString("InsertOrUpdate_NotSuport_Generic_UseEntity", nameof(typeofT1)),
                typeofT1);

        /// <summary>
        /// 【延时加载】功能需要安装 FreeSql.Extensions.LazyLoading.dll，可前往 nuget 下载
        /// </summary>
        public static string Install_FreeSql_Extensions_LazyLoading
            => GetString("Install_FreeSql_Extensions_LazyLoading");

        /// <summary>
        /// 【延时加载】{trytbTypeName} 编译错误：{exMessage}\r\n\r\n{cscode}
        /// </summary>
        public static string LazyLoading_CompilationError(object trytbTypeName, object exMessage, object cscode)
            => string.Format(
                GetString("LazyLoading_CompilationError", nameof(trytbTypeName), nameof(exMessage), nameof(cscode)),
                trytbTypeName, exMessage, cscode);

        /// <summary>
        /// 【延时加载】实体类型 {trytbTypeName} 必须声明为 public
        /// </summary>
        public static string LazyLoading_EntityMustDeclarePublic(object trytbTypeName)
            => string.Format(
                GetString("LazyLoading_EntityMustDeclarePublic", nameof(trytbTypeName)),
                trytbTypeName);

        /// <summary>
        /// ManyToMany 导航属性 .AsSelect() 暂时不可用于 Sum/Avg/Max/Min/First/ToOne/ToList 方法
        /// </summary>
        public static string ManyToMany_AsSelect_NotSupport_Sum_Avg_etc
            => GetString("ManyToMany_AsSelect_NotSupport_Sum_Avg_etc");

        /// <summary>
        /// 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 在 {tbmidCsName} 中没有找到对应的字段，如：{midTypePropsTrytbName}{findtrytbPkCsName}、{midTypePropsTrytbName}_{findtrytbPkCsName}
        /// </summary>
        public static string ManyToMany_NotFound_CorrespondingField(object trytbTypeName, object pnvName, object tbmidCsName, object midTypePropsTrytbName, object findtrytbPkCsName)
            => string.Format(
                GetString("ManyToMany_NotFound_CorrespondingField", nameof(trytbTypeName), nameof(pnvName), nameof(tbmidCsName), nameof(midTypePropsTrytbName), nameof(findtrytbPkCsName)),
                trytbTypeName, pnvName, tbmidCsName, midTypePropsTrytbName, findtrytbPkCsName);

        /// <summary>
        /// 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误，实体类型 {tbrefTypeName} 缺少主键标识，[Column(IsPrimary = true)]
        /// </summary>
        public static string ManyToMany_ParsingError_EntityMissing_PrimaryKey(object trytbTypeName, object pnvName, object tbrefTypeName)
            => string.Format(
                GetString("ManyToMany_ParsingError_EntityMissing_PrimaryKey", nameof(trytbTypeName), nameof(pnvName), nameof(tbrefTypeName)),
                trytbTypeName, pnvName, tbrefTypeName);

        /// <summary>
        /// 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误，实体类型 {tbrefTypeName} 必须存在对应的 [Navigate(ManyToMany = x)] 集合属性
        /// </summary>
        public static string ManyToMany_ParsingError_EntityMustHas_NavigateCollection(object trytbTypeName, object pnvName, object tbrefTypeName)
            => string.Format(
                GetString("ManyToMany_ParsingError_EntityMustHas_NavigateCollection", nameof(trytbTypeName), nameof(pnvName), nameof(tbrefTypeName)),
                trytbTypeName, pnvName, tbrefTypeName);

        /// <summary>
        /// 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误，{tbmidCsName}.{trycolCsName} 和 {trytbCsName}.{trytbPrimarysCsName} 类型不一致
        /// </summary>
        public static string ManyToMany_ParsingError_InconsistentType(object trytbTypeName, object pnvName, object tbmidCsName, object trycolCsName, object trytbCsName, object trytbPrimarysCsName)
            => string.Format(
                GetString("ManyToMany_ParsingError_InconsistentType", nameof(trytbTypeName), nameof(pnvName), nameof(tbmidCsName), nameof(trycolCsName), nameof(trytbCsName), nameof(trytbPrimarysCsName)),
                trytbTypeName, pnvName, tbmidCsName, trycolCsName, trytbCsName, trytbPrimarysCsName);

        /// <summary>
        /// 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误，中间类 {tbmidCsName}.{midTypePropsTrytbName} 错误：{exMessage}
        /// </summary>
        public static string ManyToMany_ParsingError_IntermediateClass_ErrorMessage(object trytbTypeName, object pnvName, object tbmidCsName, object midTypePropsTrytbName, object exMessage)
            => string.Format(
                GetString("ManyToMany_ParsingError_IntermediateClass_ErrorMessage", nameof(trytbTypeName), nameof(pnvName), nameof(tbmidCsName), nameof(midTypePropsTrytbName), nameof(exMessage)),
                trytbTypeName, pnvName, tbmidCsName, midTypePropsTrytbName, exMessage);

        /// <summary>
        /// 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误，中间类 {tbmidCsName}.{midTypePropsTrytbName} 导航属性不是【ManyToOne】或【OneToOne】
        /// </summary>
        public static string ManyToMany_ParsingError_IntermediateClass_NotManyToOne_OneToOne(object trytbTypeName, object pnvName, object tbmidCsName, object midTypePropsTrytbName)
            => string.Format(
                GetString("ManyToMany_ParsingError_IntermediateClass_NotManyToOne_OneToOne", nameof(trytbTypeName), nameof(pnvName), nameof(tbmidCsName), nameof(midTypePropsTrytbName)),
                trytbTypeName, pnvName, tbmidCsName, midTypePropsTrytbName);

        /// <summary>
        /// 映射异常：{name} 没有一个属性名相同
        /// </summary>
        public static string Mapping_Exception_HasNo_SamePropertyName(object name)
            => string.Format(
                GetString("Mapping_Exception_HasNo_SamePropertyName", nameof(name)),
                name);

        /// <summary>
        /// Ado.MasterPool 值为 null，该操作无法自启用事务，请显式传递【事务对象】解决
        /// </summary>
        public static string MasterPool_IsNull_UseTransaction
            => GetString("MasterPool_IsNull_UseTransaction");

        /// <summary>
        /// 缺少 FreeSql 数据库实现包：FreeSql.Provider.{Provider}.dll，可前往 nuget 下载
        /// </summary>
        public static string Missing_FreeSqlProvider_Package(object Provider)
            => string.Format(
                GetString("Missing_FreeSqlProvider_Package", nameof(Provider)),
                Provider);

        /// <summary>
        /// 缺少 FreeSql 数据库实现包：{dll}，可前往 nuget 下载；如果存在 {dll} 依然报错（原因是环境问题导致反射不到类型），请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})
        /// </summary>
        public static string Missing_FreeSqlProvider_Package_Reason(object dll, object providerType)
            => string.Format(
                GetString("Missing_FreeSqlProvider_Package_Reason", nameof(dll), nameof(providerType)),
                dll, providerType);

        /// <summary>
        /// 导航属性 {trytbTypeName}.{pnvName} 特性 [Navigate] Bind 数目({bindColumnsCount}) 与 外部主键数目({tbrefPrimarysLength}) 不相同
        /// </summary>
        public static string Navigation_Bind_Number_Different(object trytbTypeName, object pnvName, object bindColumnsCount, object tbrefPrimarysLength)
            => string.Format(
                GetString("Navigation_Bind_Number_Different", nameof(trytbTypeName), nameof(pnvName), nameof(bindColumnsCount), nameof(tbrefPrimarysLength)),
                trytbTypeName, pnvName, bindColumnsCount, tbrefPrimarysLength);

        /// <summary>
        /// {tb2DbName}.{mp2MemberName} 导航属性集合忘了 .AsSelect() 吗？如果在 ToList(a =&gt; a.{mp2MemberName}) 中使用，请移步参考 IncludeMany 文档。
        /// </summary>
        public static string Navigation_Missing_AsSelect(object tb2DbName, object mp2MemberName)
            => string.Format(
                GetString("Navigation_Missing_AsSelect", nameof(tb2DbName), nameof(mp2MemberName)),
                tb2DbName, mp2MemberName);

        /// <summary>
        /// 【导航属性】{trytbTypeDisplayCsharp}.{pName} 缺少 set 属性
        /// </summary>
        public static string Navigation_Missing_SetProperty(object trytbTypeDisplayCsharp, object pName)
            => string.Format(
                GetString("Navigation_Missing_SetProperty", nameof(trytbTypeDisplayCsharp), nameof(pName)),
                trytbTypeDisplayCsharp, pName);

        /// <summary>
        /// 导航属性 {trytbTypeName}.{pnvName} 没有找到对应的字段，如：{pnvName}{findtbrefPkCsName}、{pnvName}_{findtbrefPkCsName}。或者使用 [Navigate] 特性指定关系映射。
        /// </summary>
        public static string Navigation_NotFound_CorrespondingField(object trytbTypeName, object pnvName, object findtbrefPkCsName)
            => string.Format(
                GetString("Navigation_NotFound_CorrespondingField", nameof(trytbTypeName), nameof(pnvName), nameof(findtbrefPkCsName)),
                trytbTypeName, pnvName, findtbrefPkCsName);

        /// <summary>
        /// 导航属性 {trytbTypeName}.{pnvName} 解析错误，实体类型 {trytcTypeName} 缺少主键标识，[Column(IsPrimary = true)]
        /// </summary>
        public static string Navigation_ParsingError_EntityMissingPrimaryKey(object trytbTypeName, object pnvName, object trytcTypeName)
            => string.Format(
                GetString("Navigation_ParsingError_EntityMissingPrimaryKey", nameof(trytbTypeName), nameof(pnvName), nameof(trytcTypeName)),
                trytbTypeName, pnvName, trytcTypeName);

        /// <summary>
        /// 导航属性 {trytbTypeName}.{pnvName} 解析错误，{trytbCsName}.{trycolCsName} 和 {tbrefCsName}.{tbrefPrimarysCsName} 类型不一致
        /// </summary>
        public static string Navigation_ParsingError_InconsistentType(object trytbTypeName, object pnvName, object trytbCsName, object trycolCsName, object tbrefCsName, object tbrefPrimarysCsName)
            => string.Format(
                GetString("Navigation_ParsingError_InconsistentType", nameof(trytbTypeName), nameof(pnvName), nameof(trytbCsName), nameof(trycolCsName), nameof(tbrefCsName), nameof(tbrefPrimarysCsName)),
                trytbTypeName, pnvName, trytbCsName, trycolCsName, tbrefCsName, tbrefPrimarysCsName);

        /// <summary>
        /// 导航属性 {trytbTypeName}.{pnvName} 特性 [Navigate] 解析错误，在 {tbrefTypeName} 未找到属性：{bi}
        /// </summary>
        public static string Navigation_ParsingError_NotFound_Property(object trytbTypeName, object pnvName, object tbrefTypeName, object bi)
            => string.Format(
                GetString("Navigation_ParsingError_NotFound_Property", nameof(trytbTypeName), nameof(pnvName), nameof(tbrefTypeName), nameof(bi)),
                trytbTypeName, pnvName, tbrefTypeName, bi);

        /// <summary>
        /// {tableTypeDisplayCsharp} 没有定义主键，无法使用 SetSource，请尝试 SetDto 或者 SetSource 指定临时主键
        /// </summary>
        public static string NoPrimaryKey_UseSetDto(object tableTypeDisplayCsharp)
            => string.Format(
                GetString("NoPrimaryKey_UseSetDto", nameof(tableTypeDisplayCsharp)),
                tableTypeDisplayCsharp);

        /// <summary>
        ///  没有定义属性 
        /// </summary>
        public static string NoProperty_Defined
            => GetString("NoProperty_Defined");

        /// <summary>
        /// 未实现
        /// </summary>
        public static string Not_Implemented
            => GetString("Not_Implemented");

        /// <summary>
        /// 未实现函数表达式 {exp} 解析
        /// </summary>
        public static string Not_Implemented_Expression(object exp)
            => string.Format(
                GetString("Not_Implemented_Expression", nameof(exp)),
                exp);

        /// <summary>
        /// 未实现函数表达式 {exp} 解析，参数 {expArguments} 必须为常量
        /// </summary>
        public static string Not_Implemented_Expression_ParameterUseConstant(object exp, object expArguments)
            => string.Format(
                GetString("Not_Implemented_Expression_ParameterUseConstant", nameof(exp), nameof(expArguments)),
                exp, expArguments);

        /// <summary>
        /// 未实现函数表达式 {exp} 解析，如果正在操作导航属性集合，请使用 .AsSelect().{exp3MethodName}({exp3ArgumentsCount})
        /// </summary>
        public static string Not_Implemented_Expression_UseAsSelect(object exp, object exp3MethodName, object exp3ArgumentsCount)
            => string.Format(
                GetString("Not_Implemented_Expression_UseAsSelect", nameof(exp), nameof(exp3MethodName), nameof(exp3ArgumentsCount)),
                exp, exp3MethodName, exp3ArgumentsCount);

        /// <summary>
        /// 未实现 MemberAccess 下的 Constant
        /// </summary>
        public static string Not_Implemented_MemberAcess_Constant
            => GetString("Not_Implemented_MemberAcess_Constant");

        /// <summary>
        /// 未实现 {name}
        /// </summary>
        public static string Not_Implemented_Name(object name)
            => string.Format(
                GetString("Not_Implemented_Name", nameof(name)),
                name);

        /// <summary>
        /// 不支持
        /// </summary>
        public static string Not_Support
            => GetString("Not_Support");

        /// <summary>
        /// {dataType} 不支持 OrderByRandom 随机排序
        /// </summary>
        public static string Not_Support_OrderByRandom(object dataType)
            => string.Format(
                GetString("Not_Support_OrderByRandom", nameof(dataType)),
                dataType);

        /// <summary>
        /// {property} 不是有效的导航属性
        /// </summary>
        public static string Not_Valid_Navigation_Property(object property)
            => string.Format(
                GetString("Not_Valid_Navigation_Property", nameof(property)),
                property);

        /// <summary>
        /// {dbName} 找不到列 {memberName}
        /// </summary>
        public static string NotFound_Column(object dbName, object memberName)
            => string.Format(
                GetString("NotFound_Column", nameof(dbName), nameof(memberName)),
                dbName, memberName);

        /// <summary>
        /// 找不到 {CsName} 对应的列
        /// </summary>
        public static string NotFound_CsName_Column(object CsName)
            => string.Format(
                GetString("NotFound_CsName_Column", nameof(CsName)),
                CsName);

        /// <summary>
        /// 找不到属性：{memberName}
        /// </summary>
        public static string NotFound_Property(object memberName)
            => string.Format(
                GetString("NotFound_Property", nameof(memberName)),
                memberName);

        /// <summary>
        /// 找不到属性名 {proto}
        /// </summary>
        public static string NotFound_PropertyName(object proto)
            => string.Format(
                GetString("NotFound_PropertyName", nameof(proto)),
                proto);

        /// <summary>
        /// Custom 找不到对应的{{ 反射信息 }}：{fiValueCustomArray}
        /// </summary>
        public static string NotFound_Reflection(object fiValueCustomArray)
            => string.Format(
                GetString("NotFound_Reflection", nameof(fiValueCustomArray)),
                fiValueCustomArray);

        /// <summary>
        /// Custom 找不到对应的{{ 静态方法名 }}：{fiValueCustomArray}
        /// </summary>
        public static string NotFound_Static_MethodName(object fiValueCustomArray)
            => string.Format(
                GetString("NotFound_Static_MethodName", nameof(fiValueCustomArray)),
                fiValueCustomArray);

        /// <summary>
        /// [Table(AsTable = xx)] 设置的属性名 {atmGroupsValue} 不存在
        /// </summary>
        public static string NotFound_Table_Property_AsTable(object atmGroupsValue)
            => string.Format(
                GetString("NotFound_Table_Property_AsTable", nameof(atmGroupsValue)),
                atmGroupsValue);

        /// <summary>
        /// 未指定 UseConnectionString 或者 UseConnectionFactory
        /// </summary>
        public static string NotSpecified_UseConnectionString_UseConnectionFactory
            => GetString("NotSpecified_UseConnectionString_UseConnectionFactory");

        /// <summary>
        /// 【{policyName}】ObjectPool.{GetName}() timeout {totalSeconds} seconds, see: https://github.com/dotnetcore/FreeSql/discussions/1081
        /// </summary>
        public static string ObjectPool_Get_Timeout(object policyName, object GetName, object totalSeconds)
            => string.Format(
                GetString("ObjectPool_Get_Timeout", nameof(policyName), nameof(GetName), nameof(totalSeconds)),
                policyName, GetName, totalSeconds);

        /// <summary>
        /// 【{policyName}】ObjectPool.GetAsync() The queue is too long. Policy.AsyncGetCapacity = {asyncGetCapacity}
        /// </summary>
        public static string ObjectPool_GetAsync_Queue_Long(object policyName, object asyncGetCapacity)
            => string.Format(
                GetString("ObjectPool_GetAsync_Queue_Long", nameof(policyName), nameof(asyncGetCapacity)),
                policyName, asyncGetCapacity);

        /// <summary>
        /// 【OneToMany】导航属性 {trytbTypeName}.{pnvName} 在 {tbrefCsName} 中没有找到对应的字段，如：{findtrytb}{findtrytbPkCsName}、{findtrytb}_{findtrytbPkCsName}
        /// </summary>
        public static string OneToMany_NotFound_CorrespondingField(object trytbTypeName, object pnvName, object tbrefCsName, object findtrytb, object findtrytbPkCsName)
            => string.Format(
                GetString("OneToMany_NotFound_CorrespondingField", nameof(trytbTypeName), nameof(pnvName), nameof(tbrefCsName), nameof(findtrytb), nameof(findtrytbPkCsName)),
                trytbTypeName, pnvName, tbrefCsName, findtrytb, findtrytbPkCsName);

        /// <summary>
        /// 【OneToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误，{trytbCsName}.{trytbPrimarysCsName} 和 {tbrefCsName}.{trycolCsName} 类型不一致
        /// </summary>
        public static string OneToMany_ParsingError_InconsistentType(object trytbTypeName, object pnvName, object trytbCsName, object trytbPrimarysCsName, object tbrefCsName, object trycolCsName)
            => string.Format(
                GetString("OneToMany_ParsingError_InconsistentType", nameof(trytbTypeName), nameof(pnvName), nameof(trytbCsName), nameof(trytbPrimarysCsName), nameof(tbrefCsName), nameof(trycolCsName)),
                trytbTypeName, pnvName, trytbCsName, trytbPrimarysCsName, tbrefCsName, trycolCsName);

        /// <summary>
        /// 、{refpropName}{findtrytbPkCsName}、{refpropName}_{findtrytbPkCsName}。或者使用 [Navigate] 特性指定关系映射。
        /// </summary>
        public static string OneToMany_UseNavigate(object refpropName, object findtrytbPkCsName)
            => string.Format(
                GetString("OneToMany_UseNavigate", nameof(refpropName), nameof(findtrytbPkCsName)),
                refpropName, findtrytbPkCsName);

        /// <summary>
        /// 参数 field 未指定
        /// </summary>
        public static string Parameter_Field_NotSpecified
            => GetString("Parameter_Field_NotSpecified");

        /// <summary>
        /// {property} 参数错误，它不是集合属性，必须为 IList&lt;T&gt; 或者 ICollection&lt;T&gt;
        /// </summary>
        public static string ParameterError_NotValid_Collection(object property)
            => string.Format(
                GetString("ParameterError_NotValid_Collection", nameof(property)),
                property);

        /// <summary>
        /// {property} 参数错误，它不是有效的导航属性
        /// </summary>
        public static string ParameterError_NotValid_Navigation(object property)
            => string.Format(
                GetString("ParameterError_NotValid_Navigation", nameof(property)),
                property);

        /// <summary>
        /// {where} 参数错误，{keyval} 不是有效的属性名，在实体类 {reftbTypeDisplayCsharp} 无法找到
        /// </summary>
        public static string ParameterError_NotValid_PropertyName(object where, object keyval, object reftbTypeDisplayCsharp)
            => string.Format(
                GetString("ParameterError_NotValid_PropertyName", nameof(where), nameof(keyval), nameof(reftbTypeDisplayCsharp)),
                where, keyval, reftbTypeDisplayCsharp);

        /// <summary>
        /// {property} 参数错误，格式 "TopicId=Id，多组使用逗号连接" 
        /// </summary>
        public static string ParameterError_NotValid_UseCommas(object property)
            => string.Format(
                GetString("ParameterError_NotValid_UseCommas", nameof(property)),
                property);

        /// <summary>
        /// 解析失败 {callExpMethodName} {message}
        /// </summary>
        public static string Parsing_Failed(object callExpMethodName, object message)
            => string.Format(
                GetString("Parsing_Failed", nameof(callExpMethodName), nameof(message)),
                callExpMethodName, message);

        /// <summary>
        /// 【{policyName}】The ObjectPool has been disposed, see: https://github.com/dotnetcore/FreeSql/discussions/1079
        /// </summary>
        public static string Policy_ObjectPool_Dispose(object policyName)
            => string.Format(
                GetString("Policy_ObjectPool_Dispose", nameof(policyName)),
                policyName);

        /// <summary>
        /// 【{policyName}】状态不可用，等待后台检查程序恢复方可使用。{UnavailableExceptionMessage}
        /// </summary>
        public static string Policy_Status_NotAvailable(object policyName, object UnavailableExceptionMessage)
            => string.Format(
                GetString("Policy_Status_NotAvailable", nameof(policyName), nameof(UnavailableExceptionMessage)),
                policyName, UnavailableExceptionMessage);

        /// <summary>
        /// 属性{trytbVersionColumnCsName} 被标注为行锁（乐观锁）(IsVersion)，但其必须为数字类型 或者 byte[] 或者 string，并且不可为 Nullable
        /// </summary>
        public static string Properties_AsRowLock_Must_Numeric_Byte(object trytbVersionColumnCsName)
            => string.Format(
                GetString("Properties_AsRowLock_Must_Numeric_Byte", nameof(trytbVersionColumnCsName)),
                trytbVersionColumnCsName);

        /// <summary>
        /// properties 参数不能为空
        /// </summary>
        public static string Properties_Cannot_Null
            => GetString("Properties_Cannot_Null");

        /// <summary>
        /// {property} 属性名无法找到
        /// </summary>
        public static string Property_Cannot_Find(object property)
            => string.Format(
                GetString("Property_Cannot_Find", nameof(property)),
                property);

        /// <summary>
        /// Range 要求 Value 应该逗号分割，并且长度为 2
        /// </summary>
        public static string Range_Comma_Separateda_By2Char
            => GetString("Range_Comma_Separateda_By2Char");

        /// <summary>
        /// 回滚
        /// </summary>
        public static string RollBack
            => GetString("RollBack");

        /// <summary>
        /// 运行时错误，反射获取 IncludeMany 方法失败
        /// </summary>
        public static string RunTimeError_Reflection_IncludeMany
            => GetString("RunTimeError_Reflection_IncludeMany");

        /// <summary>
        /// 蛋疼的 Access 插入只能一条一条执行，不支持 values(..),(..) 也不支持 select .. UNION ALL select ..
        /// </summary>
        public static string S_Access_InsertOnlyOneAtTime
            => GetString("S_Access_InsertOnlyOneAtTime");

        /// <summary>
        /// BaseEntity.Initialization 初始化错误，获取到 IFreeSql 是 null
        /// </summary>
        public static string S_BaseEntity_Initialization_Error
            => GetString("S_BaseEntity_Initialization_Error");

        /// <summary>
        /// 【{thisName}】Block access and wait for recovery: {exMessage}
        /// </summary>
        public static string S_BlockAccess_WaitForRecovery(object thisName, object exMessage)
            => string.Format(
                GetString("S_BlockAccess_WaitForRecovery", nameof(thisName), nameof(exMessage)),
                thisName, exMessage);

        /// <summary>
        /// 无法将 IQueryable&lt;{typeofName}&gt; 转换为 ISelect&lt;{typeofName}&gt;，因为他的实现不是 FreeSql.Extensions.Linq.QueryableProvider
        /// </summary>
        public static string S_CannotBeConverted_To_ISelect(object typeofName)
            => string.Format(
                GetString("S_CannotBeConverted_To_ISelect", nameof(typeofName)),
                typeofName);

        /// <summary>
        /// 连接字符串错误
        /// </summary>
        public static string S_ConnectionStringError
            => GetString("S_ConnectionStringError");

        /// <summary>
        /// 【{thisName}】连接字符串错误，请检查。
        /// </summary>
        public static string S_ConnectionStringError_Check(object thisName)
            => string.Format(
                GetString("S_ConnectionStringError_Check", nameof(thisName)),
                thisName);

        /// <summary>
        /// 连接字符串错误，或者检查项目属性 &gt; 生成 &gt; 目标平台：x86 | x64，或者改用 FreeSql.Provider.SqliteCore 访问 arm 平台
        /// </summary>
        public static string S_ConnectionStringError_CheckProject
            => GetString("S_ConnectionStringError_CheckProject");

        /// <summary>
        /// 【{thisName}】连接字符串错误，请检查。或者检查项目属性 &gt; 生成 &gt; 目标平台：x86 | x64，或者改用 FreeSql.Provider.SqliteCore 访问 arm 平台
        /// </summary>
        public static string S_ConnectionStringError_CheckProjectConnection(object thisName)
            => string.Format(
                GetString("S_ConnectionStringError_CheckProjectConnection", nameof(thisName)),
                thisName);

        /// <summary>
        /// FreeSql.Provider.CustomAdapter 无法使用 CreateCommand
        /// </summary>
        public static string S_CustomAdapter_Cannot_Use_CreateCommand
            => GetString("S_CustomAdapter_Cannot_Use_CreateCommand");

        /// <summary>
        /// FreeSql.Provider.CustomAdapter 仅支持 UseConnectionFactory 方式构建 IFreeSql
        /// </summary>
        public static string S_CustomAdapter_OnlySuppport_UseConnectionFactory 
            => GetString("S_CustomAdapter_OnlySuppport_UseConnectionFactory ");

        /// <summary>
        /// 达梦 CodeFirst 不支持代码创建 tablespace 与 schemas {tbname}
        /// </summary>
        public static string S_Dameng_NotSupport_TablespaceSchemas  (object tbname)
            => string.Format(
                GetString("S_Dameng_NotSupport_TablespaceSchemas  ", nameof(tbname)),
                tbname);

        /// <summary>
        /// -DB 参数错误，未提供 ConnectionString
        /// </summary>
        public static string S_DB_Parameter_Error_NoConnectionString
            => GetString("S_DB_Parameter_Error_NoConnectionString");

        /// <summary>
        /// -DB 参数错误，格式为：MySql,ConnectionString
        /// </summary>
        public static string S_DB_ParameterError
            => GetString("S_DB_ParameterError");

        /// <summary>
        /// -DB 参数错误，不支持的类型："{dbargs}"
        /// </summary>
        public static string S_DB_ParameterError_UnsupportedType(object dbargs)
            => string.Format(
                GetString("S_DB_ParameterError_UnsupportedType", nameof(dbargs)),
                dbargs);

        /// <summary>
        /// {method} 是 FreeSql.Provider.{provider} 特有的功能
        /// </summary>
        public static string S_Features_Unique(object method, object provider)
            => string.Format(
                GetString("S_Features_Unique", nameof(method), nameof(provider)),
                method, provider);

        /// <summary>
        /// fsql.InsertOrUpdate Sqlite 无法完成 UpdateColumns 操作
        /// </summary>
        public static string S_InsertOrUpdate_Unable_UpdateColumns
            => GetString("S_InsertOrUpdate_Unable_UpdateColumns");

        /// <summary>
        /// 主库
        /// </summary>
        public static string S_MasterDatabase
            => GetString("S_MasterDatabase");

        /// <summary>
        /// MygisGeometry.Parse 未实现 "{wkt}"
        /// </summary>
        public static string S_MygisGeometry_NotImplement(object wkt)
            => string.Format(
                GetString("S_MygisGeometry_NotImplement", nameof(wkt)),
                wkt);

        /// <summary>
        /// -NameOptions 参数错误，格式为：0,0,0,0
        /// </summary>
        public static string S_NameOptions_Incorrect
            => GetString("S_NameOptions_Incorrect");

        /// <summary>
        ///  未实现该功能
        /// </summary>
        public static string S_Not_Implemented_Feature
            => GetString("S_Not_Implemented_Feature");

        /// <summary>
        /// 未实现错误，请反馈给作者
        /// </summary>
        public static string S_Not_Implemented_FeedBack
            => GetString("S_Not_Implemented_FeedBack");

        /// <summary>
        /// 找不到 {name}
        /// </summary>
        public static string S_NotFound_Name(object name)
            => string.Format(
                GetString("S_NotFound_Name", nameof(name)),
                name);

        /// <summary>
        /// FreeSql.Provider.{providerName} 未实现 Skip/Offset 功能，如果需要分页请使用判断上一次 id
        /// </summary>
        public static string S_NotImplementSkipOffset(object providerName)
            => string.Format(
                GetString("S_NotImplementSkipOffset", nameof(providerName)),
                providerName);

        /// <summary>
        /// 对象池
        /// </summary>
        public static string S_ObjectPool
            => GetString("S_ObjectPool");

        /// <summary>
        /// 旧表(OldName)：{tboldname} 存在，数据库已存在 {tbname} 表，无法改名
        /// </summary>
        public static string S_OldTableExists(object tboldname, object tbname)
            => string.Format(
                GetString("S_OldTableExists", nameof(tboldname), nameof(tbname)),
                tboldname, tbname);

        /// <summary>
        /// OnConflictDoUpdate 功能要求实体类必须设置 IsPrimary 属性
        /// </summary>
        public static string S_OnConflictDoUpdate_MustIsPrimary
            => GetString("S_OnConflictDoUpdate_MustIsPrimary");

        /// <summary>
        /// Oracle CodeFirst 不支持代码创建 tablespace 与 schemas {tbname}
        /// </summary>
        public static string S_Oracle_NotSupport_TablespaceSchemas(object tbname)
            => string.Format(
                GetString("S_Oracle_NotSupport_TablespaceSchemas", nameof(tbname)),
                tbname);

        /// <summary>
        /// 解析失败 {callExpMethodName} {message}，提示：可以使用扩展方法 IQueryable.RestoreToSelect() 还原为 ISelect 再查询
        /// </summary>
        public static string S_ParsingFailed_UseRestoreToSelect(object callExpMethodName, object message)
            => string.Format(
                GetString("S_ParsingFailed_UseRestoreToSelect", nameof(callExpMethodName), nameof(message)),
                callExpMethodName, message);

        /// <summary>
        /// fsql.InsertOrUpdate + IfExistsDoNothing + {providerName}要求实体类 {tableCsName} 必须有主键
        /// </summary>
        public static string S_RequiresEntityPrimaryKey(object providerName, object tableCsName)
            => string.Format(
                GetString("S_RequiresEntityPrimaryKey", nameof(providerName), nameof(tableCsName)),
                providerName, tableCsName);

        /// <summary>
        /// SelectMany 错误的类型：{typeFullName}
        /// </summary>
        public static string S_SelectManayErrorType(object typeFullName)
            => string.Format(
                GetString("S_SelectManayErrorType", nameof(typeFullName)),
                typeFullName);

        /// <summary>
        /// 从库
        /// </summary>
        public static string S_SlaveDatabase
            => GetString("S_SlaveDatabase");

        /// <summary>
        /// 类型 {objentityTypeFullName} 不可迁移
        /// </summary>
        public static string S_Type_IsNot_Migrable(object objentityTypeFullName)
            => string.Format(
                GetString("S_Type_IsNot_Migrable", nameof(objentityTypeFullName)),
                objentityTypeFullName);

        /// <summary>
        /// 类型 {objentityTypeFullName} 不可迁移，可迁移属性0个
        /// </summary>
        public static string S_Type_IsNot_Migrable_0Attributes(object objentityTypeFullName)
            => string.Format(
                GetString("S_Type_IsNot_Migrable_0Attributes", nameof(objentityTypeFullName)),
                objentityTypeFullName);

        /// <summary>
        /// 未实现 {columnDbTypeTextFull} 类型映射
        /// </summary>
        public static string S_TypeMappingNotImplemented(object columnDbTypeTextFull)
            => string.Format(
                GetString("S_TypeMappingNotImplemented", nameof(columnDbTypeTextFull)),
                columnDbTypeTextFull);

        /// <summary>
        /// 错误的参数设置：{args}
        /// </summary>
        public static string S_WrongParameter(object args)
            => string.Format(
                GetString("S_WrongParameter", nameof(args)),
                args);

        /// <summary>
        /// {qoteSql} is NULL，除非设置特性 [Column(IsNullable = false)]
        /// </summary>
        public static string Set_Column_IsNullable_False(object qoteSql)
            => string.Format(
                GetString("Set_Column_IsNullable_False", nameof(qoteSql)),
                qoteSql);

        /// <summary>
        /// 分表字段值 "{dt}" 不能小于 "{beginTime} "
        /// </summary>
        public static string SubTableFieldValue_CannotLessThen(object dt, object beginTime)
            => string.Format(
                GetString("SubTableFieldValue_CannotLessThen", nameof(dt), nameof(beginTime)),
                dt, beginTime);

        /// <summary>
        /// 分表字段值不能为 null
        /// </summary>
        public static string SubTableFieldValue_IsNotNull
            => GetString("SubTableFieldValue_IsNotNull");

        /// <summary>
        /// 分表字段值 "{columnValue}" 不能转化成 DateTime
        /// </summary>
        public static string SubTableFieldValue_NotConvertDateTime(object columnValue)
            => string.Format(
                GetString("SubTableFieldValue_NotConvertDateTime", nameof(columnValue)),
                columnValue);

        /// <summary>
        /// 分表字段值 "{dt}" 未匹配到分表名
        /// </summary>
        public static string SubTableFieldValue_NotMatchTable(object dt)
            => string.Format(
                GetString("SubTableFieldValue_NotMatchTable", nameof(dt)),
                dt);

        /// <summary>
        /// T2 类型错误
        /// </summary>
        public static string T2_Type_Error
            => GetString("T2_Type_Error");

        /// <summary>
        /// tableName 格式错误，示例：“log_{yyyyMMdd}”
        /// </summary>
        public static string TableName_Format_Error(object yyyyMMdd)
            => string.Format(
                GetString("TableName_Format_Error", nameof(yyyyMMdd)),
                yyyyMMdd);

        /// <summary>
        /// {Type}.AsType 参数错误，请传入正确的实体类型
        /// </summary>
        public static string Type_AsType_Parameter_Error(object Type)
            => string.Format(
                GetString("Type_AsType_Parameter_Error", nameof(Type)),
                Type);

        /// <summary>
        /// {thatFullName} 类型无法访问构造函数
        /// </summary>
        public static string Type_Cannot_Access_Constructor(object thatFullName)
            => string.Format(
                GetString("Type_Cannot_Access_Constructor", nameof(thatFullName)),
                thatFullName);

        /// <summary>
        /// {name} 类型错误
        /// </summary>
        public static string Type_Error_Name(object name)
            => string.Format(
                GetString("Type_Error_Name", nameof(name)),
                name);

        /// <summary>
        /// {Type}.AsType 参数不支持指定为 object
        /// </summary>
        public static string TypeAsType_NotSupport_Object(object Type)
            => string.Format(
                GetString("TypeAsType_NotSupport_Object", nameof(Type)),
                Type);

        /// <summary>
        /// 类型 {typeofFullName} 错误，不能使用 IncludeMany
        /// </summary>
        public static string TypeError_CannotUse_IncludeMany(object typeofFullName)
            => string.Format(
                GetString("TypeError_CannotUse_IncludeMany", nameof(typeofFullName)),
                typeofFullName);

        /// <summary>
        /// 无法解析表达式：{exp}
        /// </summary>
        public static string Unable_Parse_Expression(object exp)
            => string.Format(
                GetString("Unable_Parse_Expression", nameof(exp)),
                exp);

        /// <summary>
        /// 无法解析表达式方法 {exp3tmpCallMethodName}
        /// </summary>
        public static string Unable_Parse_ExpressionMethod(object exp3tmpCallMethodName)
            => string.Format(
                GetString("Unable_Parse_ExpressionMethod", nameof(exp3tmpCallMethodName)),
                exp3tmpCallMethodName);

        /// <summary>
        /// 请使用 fsql.InsertDict(dict) 方法插入字典数据
        /// </summary>
        public static string Use_InsertDict_Method
            => GetString("Use_InsertDict_Method");

        private static string GetString(string name, params string[] formatterNames)
        {
            var value = _resourceManager.GetString(name,_resourceCulture);
            for (var i = 0; i < formatterNames.Length; i++)
            {
                value = value.Replace("{" + formatterNames[i] + "}", "{" + i + "}");
            }

            return value;
        }
    }
}

