diff --git a/Directory.Build.props b/Directory.Build.props
index 0ee4bcf0..7552a70c 100644
--- a/Directory.Build.props
+++ b/Directory.Build.props
@@ -9,7 +9,7 @@
- 3.2.650-preview20220521
+ 3.2.650-preview20220521-2
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index d34b34ef..4335acb5 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -786,14 +786,5 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
-
diff --git a/FreeSql.DbContext/Properties/DbContextStrings.resx b/FreeSql.DbContext/Properties/DbContextStrings.resx
index ce01210d..5bec8621 100644
--- a/FreeSql.DbContext/Properties/DbContextStrings.resx
+++ b/FreeSql.DbContext/Properties/DbContextStrings.resx
@@ -1,6 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- AddFreeDbContext 发生错误,请检查 {dbContextTypeName} 的构造参数都已正确注入
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ FreeSql:An error occurred in AddFreeDbContext, check that the construction parameters of {dbContextTypeName} have been injected correctly
-
- 不可添加,已存在于状态管理:{entityString}
+
+ FreeSql:Not addable, already exists in state management: {entityString}
-
- 不可添加,实体没有主键:{entityString}
+
+ FreeSql:Not addable, entity has no primary key: {entityString}
-
- 不可添加,未设置主键的值:{entityString}
+
+ FreeSql:Not addable, no value for primary key set: {entityString}
-
- 不可添加,自增属性有值:{entityString}
+
+ FreeSql:Not addable, self-increasing attribute has value: {entityString}
-
- 不可附加,实体没有主键:{entityString}
+
+ FreeSql:Not attachable, entity has no primary key: {entityString}
-
- 不可附加,未设置主键的值:{entityString}
+
+ FreeSql:Not attachable, no value for primary key set: {entityString}
-
- 不可删除,数据未被跟踪,应该先查询:{entityString}
+
+ FreeSql:Not deletable, data not tracked, should query first: {entityString}
-
- 不可删除,实体没有主键:{entityString}
+
+ FreeSql:Not deletable, entity has no primary key: {entityString}
-
- 不可删除,未设置主键的值:{entityString}
+
+ FreeSql:Not deletable, no value for primary key set: {entityString}
-
- 不可进行编辑,实体没有主键:{entityString}
+
+ FreeSql:Not editable, entity has no primary key: {entityString}
-
- 不可更新,数据未被跟踪,应该先查询 或者 Attach:{entityString}
+
+ FreeSql:Not updatable, data not tracked, should be queried first or Attach:{entityString}
-
- 不可更新,实体没有主键:{entityString}
+
+ FreeSql:Not updatable, entity has no primary key: {entityString}
-
- 不可更新,未设置主键的值:{entityString}
+
+ FreeSql:Not updatable, no value for primary key set: {entityString}
-
- 不可更新,数据库不存在该记录:{entityString}
+
+ FreeSql:Not updatable, the record does not exist in the database: {entityString}
-
- 请在 OnConfiguring 或 AddFreeDbContext 中配置 UseFreeSql
+
+ FreeSql:Please configure UseFreeSql in OnConfiguring or AddFreeDbContext
-
- DbSet.AsType 参数错误,请传入正确的实体类型
+
+ FreeSql:DbSet. AsType parameter error, please pass in the correct entity type
-
- 实体类型 {EntityTypeName} 无法转换为 {name},无法使用该方法
+
+ FreeSql:Entity type {EntityTypeName} cannot be converted to {name} and cannot use this method
-
- 实体类型 {EntityTypeName} 主键类型不为 {fullName},无法使用该方法
+
+ FreeSql:Entity type {EntityTypeName} Primary key type is not {fullName} and cannot be used with this method
-
- 实体类型 {EntityTypeName} 主键数量不为 1,无法使用该方法
+
+ FreeSql:Entity type {EntityTypeName} Primary key number is not 1 and cannot be used with this method
-
- FreeSql.Repository 设置过滤器失败,原因是对象不属于 IRepository
+
+ FreeSql:FreeSql. Repository failed to set filter because object does not belong to IRepository
-
- 不可比较,实体没有主键:{entityString}
+
+ FreeSql:Not comparable, entity has no primary key: {entityString}
-
- 不可比较,未设置主键的值:{entityString}
+
+ FreeSql:Non-comparable, no value for primary key set: {entityString}
-
- FreeSql.Repository Insert 失败,因为设置了过滤器 {filterKey}: {filterValueExpression},插入的数据不符合 {entityString}
+
+ FreeSql:FreeSql. Repository Insert failed because the filter {filterKey}: {filterValueExpression} was set and the inserted data does not conform to {entityString}
-
- ISelect.AsType 参数不支持指定为 object
+
+ FreeSql:ISelect. AsType parameter does not support specifying as object
-
- {tableTypeFullName} 不存在属性 {propertyName}
+
+ FreeSql:Property {propertyName} does not exist for {tableTypeFullName}
-
- 找不到方法 DbSet<>.StatesRemoveByObjects
+
+ FreeSql:Method DbSet<> not found. StatesRemoveByObjects
-
- 参数 data 类型错误 {entityTypeFullName}
+
+ FreeSql:Parameter data type error {entityTypeFullName}
-
- 参数错误 {param}
+
+ FreeSql:Parameter error {param}
-
- 参数错误 {param} 不能为 null
+
+ FreeSql:Parameter error {param} cannot be null
-
- 参数错误 {many} 不是集合属性
+
+ FreeSql:Parameter error {many} is not a collection property
-
- 参数错误 {many} 集合属性不存在
+
+ FreeSql:Parameter error {many} Collection property does not exist
-
- 参数错误 {one} 属性不存在
+
+ FreeSql:Parameter error {one} attribute does not exist
-
- Propagation_Mandatory: 使用当前事务,如果没有当前事务,就抛出异常
+
+ FreeSql:Propagation_ Mandatory: With the current transaction, throw an exception if there is no current transaction
-
- Propagation_Never: 以非事务方式执行操作,如果当前事务存在则抛出异常
+
+ FreeSql:Propagation_ Never: Perform the operation non-transactionally and throw an exception if the current transaction exists
-
- {tableTypeFullName} 类型的属性 {propertyName} 不是 OneToMany 或 ManyToMany 特性
+
+ FreeSql:Property {propertyName} of type {tableTypeFullName} is not OneToMany or ManyToMany attribute
-
- 特别错误:批量添加失败,{dataType} 的返回数据,与添加的数目不匹配
+
+ FreeSql:Special error: Bulk add failed, {dataType} returned data, does not match the number added
-
- 特别错误:更新失败,数据未被跟踪:{entityString}
+
+ FreeSql:Special error: Update failed, data not tracked: {entityString}
-
- 已开启事务,不能禁用工作单元
+
+ FreeSql:Transaction opened, unit of work cannot be disabled
-
- {tableTypeFullName} 类型已设置属性 {propertyName} 忽略特性
+
+ FreeSql:The {tableTypeFullName} type has set the property {propertyName} Ignore the attribute
-
- {unitOfWorkManager} 构造参数 {fsql} 不能为 null
+
+ FreeSql:The {unitOfWorkManager} constructor parameter {fsql} cannot be null
-
- FreeSql.Repository Update 失败,因为设置了过滤器 {filterKey}: {filterValueExpression},更新的数据不符合{entityString}
+
+ FreeSql:FreeSql. Repository Update failed because the filter {filterKey}: {filterValueExpression} is set and the updated data does not conform to {entityString}
-
\ No newline at end of file
+
diff --git a/FreeSql.Tests/FreeSql.Tests/Properties/CoreStringsTests.cs b/FreeSql.Tests/FreeSql.Tests/Properties/CoreStringsTests.cs
index 9c063622..949868f5 100644
--- a/FreeSql.Tests/FreeSql.Tests/Properties/CoreStringsTests.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Properties/CoreStringsTests.cs
@@ -24,7 +24,11 @@ namespace FreeSql.Tests.Properties
public void AsTable_PropertyName_NotDateTimeTest()
{
var x = CoreStrings.CustomFieldSeparatedBySpaces;
+ output.WriteLine(x);
x = CoreStrings.Custom_StaticMethodName_IsNotNull;
+ output.WriteLine(x);
+ x = CoreStrings.Custom_Reflection_IsNotNull;
+ output.WriteLine(x);
string text = CoreStrings.AsTable_PropertyName_NotDateTime("1");
output.WriteLine(text);
}
diff --git a/FreeSql.Tests/FreeSql.Tests/Properties/DbContextStringsTests.cs b/FreeSql.Tests/FreeSql.Tests/Properties/DbContextStringsTests.cs
index aa4d1d24..cfff05e7 100644
--- a/FreeSql.Tests/FreeSql.Tests/Properties/DbContextStringsTests.cs
+++ b/FreeSql.Tests/FreeSql.Tests/Properties/DbContextStringsTests.cs
@@ -21,7 +21,7 @@ namespace FreeSql.Tests.Properties
//Thread.CurrentThread.CurrentCulture = new System.Globalization.CultureInfo("en-US");
//Thread.CurrentThread.CurrentUICulture = new System.Globalization.CultureInfo("en-US");
- //DbContextStrings.Culture= new System.Globalization.CultureInfo("zh-CN");
+ //DbContextStrings.Culture= new System.Globalization.CultureInfo("zh-Hans");
DbContextStrings.Culture = new System.Globalization.CultureInfo("en-US");
}
diff --git a/FreeSql.sln b/FreeSql.sln
index f713110d..97c44a0e 100644
--- a/FreeSql.sln
+++ b/FreeSql.sln
@@ -687,8 +687,8 @@ Global
{D4FEE5C1-6805-4B46-B10B-BE5CC942B883} = {2A381C57-2697-427B-9F10-55DA11FD02E4}
EndGlobalSection
GlobalSection(ExtensibilityGlobals) = postSolution
+ RESX_NeutralResourcesLanguage = en-US
+ RESX_PrefixTranslations = True
SolutionGuid = {089687FD-5D25-40AB-BA8A-A10D1E137F98}
- RESX_PrefixTranslations = False
- RESX_NeutralResourcesLanguage = zh-Hans
EndGlobalSection
EndGlobal
diff --git a/FreeSql/Properties/CoreStrings.resx b/FreeSql/Properties/CoreStrings.resx
index d7036cb3..cc8292fc 100644
--- a/FreeSql/Properties/CoreStrings.resx
+++ b/FreeSql/Properties/CoreStrings.resx
@@ -1,6 +1,6 @@
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- text/microsoft-resx
-
-
- 2.0
-
-
- System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
-
-
- [Table(AsTable = "{asTable}")] 特性值格式错误
-
-
- [Table(AsTable = xx)] 设置的属性名 {atmGroupsValue} 不是 DateTime 类型
-
-
- {name}: Failed to get resource {statistics}
-
-
- {name}: An exception needs to be thrown
-
-
- 错误的表达式格式 {column}
-
-
- Chunk 功能之前不可使用 Select
-
-
- 安全起见,请务必在事务开启之后,再使用 ForUpdate
-
-
- 不能为 null
-
-
- {name} 不能为 null
-
-
- 无法匹配 {property}
-
-
- {property} 无法解析为表达式树
-
-
- 参数 masterConnectionString 不可为空,请检查 UseConnectionString
-
-
- 提交
-
-
- 连接失败,准备切换其他可用服务器
-
-
- 自定义表达式解析错误:类型 {exp3MethodDeclaringType} 需要定义 static ThreadLocal<ExpressionCallContext> 字段、字段、字段(重要三次提醒)
-
-
- Custom { 反射信息 }不能为空,格式:{ 静态方法名 }{ 空格 }{ 反射信息 }
-
-
- Custom { 静态方法名 }不能为空,格式:{ 静态方法名 }{ 空格 }{ 反射信息 }
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ text/microsoft-resx
+
+
+ 2.0
+
+
+ System.Resources.ResXResourceReader, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ System.Resources.ResXResourceWriter, System.Windows.Forms, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089
+
+
+ FreeSql:[Table(AsTable="{asTable}")] Property value formatted incorrectly
+
+
+ FreeSql:The property name {atmGroupsValue} set by [Table (AsTable = xx)] is not of type DateTime
+
+
+ FreeSql:{name}: Failed to get resource {statistics}
+
+
+ FreeSql:{name}: An exception needs to be thrown
+
+
+ FreeSql:Wrong expression format {column}
+
+
+ FreeSql:Select is not available until the Chunk function
+
+
+ FreeSql:For security reasons, be sure to use ForUpdate after the transaction is open
+
+
+ FreeSql:Cannot be null
+
+
+ FreeSql:{name} cannot be null
+
+
+ FreeSql:Unable to match {property}
+
+
+ FreeSql:{property} cannot be resolved to an expression tree
+
+
+ FreeSql:The parameter master ConnectionString cannot be empty, check UseConnectionString
+
+
+ FreeSql:Commit
+
+
+ FreeSql:Connection failed, ready to switch other available servers
+
+
+ FreeSql:Custom expression parsing error: type {exp3MethodDeclaringType} needs to define static ThreadLocal<ExpressionCallContext>field, field, field (important three reminders)
+
+
+ FreeSql:Custom {Reflection Information} cannot be empty, format: {static method name}{space}{reflection information}
+
+
+ FreeSql:Custom {static method name} cannot be empty, format: {static method name}{space}{reflection information}
-
- Custom 对应的{{ 静态方法名 }}:{fiValueCustomArray} 未设置 [DynamicFilterCustomAttribute] 特性
+
+ FreeSql:Custom corresponding {{static method name}}:{fiValueCustomArray} The [DynamicFilterCustomAttribute] attribute is not set
-
- Custom 要求 Field 应该空格分割,并且长度为 2,格式:{ 静态方法名 }{ 空格 }{ 反射信息 }
+
+ FreeSql:Custom requires that Fields be space-split and 2-length in the format: {static method name}{space}{reflection information}
-
- 操作的数据类型({dataDisplayCsharp}) 与 AsType({tableTypeDisplayCsharp}) 不一致,请检查。
+
+ FreeSql:The data type of the operation ({dataDisplayCsharp}) is inconsistent with AsType ({tableTypeDisplayCsharp}). Please check.
-
- DateRange 要求 Value 应该逗号分割,并且长度为 2
+
+ FreeSql:DateRange requires that Value be comma-separated and 2-length
-
- DateRange 要求 Value[1] 格式必须为:yyyy、yyyy-MM、yyyy-MM-dd、yyyy-MM-dd HH、yyyy、yyyy-MM-dd HH:mm
+
+ FreeSql:DateRange requires that the Value [1] format must be: yyyy, yyyy-MM, yyyy-MM-dd, yyyyy-MM-dd HH, yyyy, yyyy-MM-dd HH:mm
-
- 记录可能不存在,或者【行级乐观锁】版本过旧,更新数量{sourceCount},影响的行数{affrows}。
+
+ FreeSql:The record may not exist, or the row level optimistic lock version is out of date, the number of updates {sourceCount}, the number of rows affected {affrows}.
-
- SlaveConnectionString 数量与 SlaveWeights 不相同
+
+ FreeSql:The number of SlaveConnectionStrings is not the same as SlaveWeights
-
- ColumnAttribute.Name {colattrName} 重复存在,请检查(注意:不区分大小写)
+
+ FreeSql:ColumnAttribute. Name {colattrName} exists repeatedly, please check (note: case insensitive)
-
- 属性名 {pName} 重复存在,请检查(注意:不区分大小写)
+
+ FreeSql:Property name {pName} exists repeatedly, please check (note: case insensitive)
-
- {function} 功能要求实体类 {tableCsName} 必须有主键
+
+ FreeSql:The {function} feature requires that the entity class {tableCsName} must have a primary key
-
- {tbTypeFullName} 是父子关系,但是 MySql 8.0 以下版本中不支持组合多主键
+
+ FreeSql:{tbTypeFullName} is a parent-child relationship, but combinations of multiple primary keys are not supported in versions below MySql 8.0
-
- {tbTypeFullName} 不是父子关系,无法使用该功能
+
+ FreeSql:{tbTypeFullName} is not a parent-child relationship and cannot be used
-
- 这个特别的子查询不能解析
+
+ FreeSql:This particular subquery cannot be resolved
-
- 表达式错误,它的顶级对象不是 ParameterExpression:{exp}
+
+ FreeSql:Expression error, its top object is not ParameterExpression:{exp}
-
- 表达式错误,它不是连续的 MemberAccess 类型:{exp}
+
+ FreeSql:Expression error, it is not a continuous MemberAccess type: {exp}
-
- ExpressionTree 转换类型错误,值({value}),类型({valueTypeFullName}),目标类型({typeFullName}),{exMessage}
+
+ FreeSql:ExpressionTree conversion type error, value ({value}), type ({valueTypeFullName}), target type ({typeFullName}), Error:{exMessage}
-
- 未能解析分表字段值 {sqlWhere}
+
+ FreeSql:Failed to parse table field value {sqlWhere}
-
- AsTable 未实现的功能 {asTable}
+
+ FreeSql:Function {asTable} not implemented by AsTable
-
- GBase 暂时不支持逗号以外的分割符
+
+ FreeSql:GBase does not support separators other than commas at this time
-
- tableName:{tableName} 生成了相同的分表名
+
+ FreeSql:TableName:{tableName} generated the same table name
-
- GetPrimarys 传递的参数 "{primary}" 不正确,它不属于字典数据的键名
+
+ FreeSql:The parameter'{primary}'passed by GetPrimarys is incorrect and does not belong to the key name of the dictionary data
-
- 已经指定了 {first},不能再指定 {second}
+
+ FreeSql:{first} has already been specified and {second} can no longer be specified
-
- {tb2DbName}.{mp2MemberName} 被忽略,请检查 IsIgnore 设置,确认 get/set 为 public
+
+ FreeSql:{tb2DbName}. {mp2MemberName} is ignored. Check the IsIgnore setting to make sure get/set is public
-
- Include 参数类型错误
+
+ FreeSql:Include parameter type error
-
- Include 参数类型错误,集合属性请使用 IncludeMany
+
+ FreeSql:Include parameter type is wrong, use IncludeMany for collection properties
-
- Include 参数类型错误,表达式类型应该为 MemberAccess
+
+ FreeSql:Include parameter type is wrong, expression type should be MemberAccess
-
- IncludeMany 类型 {tbTypeDisplayCsharp} 的属性 {collMemMemberName} 不是有效的导航属性,提示:IsIgnore = true 不会成为导航属性
+
+ FreeSql:The property {collMemMemberName} of IncludeMany type {tbTypeDisplayCsharp} is not a valid navigation property, hint: IsIgnore = true will not be a navigation property
-
- IncludeMany {navigateSelector} 参数错误,Select 只可以使用一个参数的方法,正确格式:.Select(t =>new TNavigate {{}})
+
+ FreeSql:IncludeMany {navigateSelector} parameter is wrong, Select can only use one parameter's method, the correct format:.Select(t =>new TNavigate{{}})
-
- IncludeMany {navigateSelector} 参数错误,Select lambda参数返回值必须和 {collMemElementType} 类型一致
+
+ FreeSql:IncludeMany {navigateSelector} parameter error, Select lambda parameter return value must match {collMemElementType} type
-
- IncludeMany 参数1 类型错误,表达式类型应该为 MemberAccess
+
+ FreeSql:IncludeMany parameter 1 has wrong type, expression type should be MemberAccess
-
- IncludeMany {navigateSelector} 参数类型错误,正确格式: a.collections.Take(1).Where(c =>c.aid == a.id).Select(a=> new TNavigate{{}})
+
+ FreeSql:IncludeMany {navigateSelector} parameter type is wrong, correct format: a.collections.Take(1).Where(c => C.A ID == a.id).Select (a => new TNavigate{{}})
-
- ISelect.InsertInto() 未选择属性: {displayCsharp}
+
+ FreeSql:ISelect. InsertInto() did not select an attribute: {displayCsharp}
-
- ISelect.InsertInto() 类型错误: {displayCsharp}
+
+ FreeSql:ISelect. InsertInto() type error: {displayCsharp}
-
- InsertOrUpdate 功能执行 merge into 要求实体类 {CsName} 必须有主键
+
+ FreeSql:The InsertOrUpdate function performs merge into requiring the entity class {CsName} to have a primary key
-
- InsertOrUpdate<>的泛型参数 不支持 {typeofT1},请传递您的实体类
+
+ FreeSql:The generic parameter for InsertOrUpdate<>does not support {typeofT1}. Pass in your entity class
-
- 【延时加载】功能需要安装 FreeSql.Extensions.LazyLoading.dll,可前往 nuget 下载
+
+ FreeSql:FreeSql needs to be installed for Delayed Loading. Extensions. LazyLoading. Dll, downloadable to nuget
-
- 【延时加载】{trytbTypeName} 编译错误:{exMessage}\r\n\r\n{cscode}
+
+ FreeSql:{trytbTypeName} Compilation error: {exMessage}\r\n\r\n{cscode}
-
- 【延时加载】实体类型 {trytbTypeName} 必须声明为 public
+
+ FreeSql:Entity type {trytbTypeName} must be declared public
-
- ManyToMany 导航属性 .AsSelect() 暂时不可用于 Sum/Avg/Max/Min/First/ToOne/ToList 方法
+
+ FreeSql:ManyToMany navigation properties. AsSelect() is temporarily unavailable for the Sum/Avg/Max/Min/First/ToOne/ToList method
-
- 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 在 {tbmidCsName} 中没有找到对应的字段,如:{midTypePropsTrytbName}{findtrytbPkCsName}、{midTypePropsTrytbName}_{findtrytbPkCsName}
+
+ FreeSql:[ManyToMany] Navigation property {trytbTypeName}. {pnvName} did not find a corresponding field in {tbmidCsName}, such as: {midTypePropsTrytbName}{findtrytbPkCsName}, {midTypePropsTrytbName}_ {findtrytbPkCsName}
-
- 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误,实体类型 {tbrefTypeName} 缺少主键标识,[Column(IsPrimary = true)]
+
+ FreeSql:[ManyToMany] Navigation property {trytbTypeName}. {pnvName} parsing error, entity type {tbrefTypeName} missing primary key identity, [Column (IsPrimary = true)]
-
- 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误,实体类型 {tbrefTypeName} 必须存在对应的 [Navigate(ManyToMany = x)] 集合属性
+
+ FreeSql:[ManyToMany] Navigation property {trytbTypeName}. {pnvName} parsing error, entity type {tbrefTypeName} must have a corresponding [Navigate (ManyToMany = x)] collection property
-
- 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误,{tbmidCsName}.{trycolCsName} 和 {trytbCsName}.{trytbPrimarysCsName} 类型不一致
+
+ FreeSql:[ManyToMany] Navigation property {trytbTypeName}. {pnvName} parsing error, {tbmidCsName}. {trycolCsName} and {trytbCsName}. {trytbPrimarysCsName} type inconsistent
-
- 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误,中间类 {tbmidCsName}.{midTypePropsTrytbName} 错误:{exMessage}
+
+ FreeSql:[ManyToMany] Navigation property {trytbTypeName}. {pnvName} parsing error, intermediate class {tbmidCsName}.{midTypePropsTrytbName} Error: {exMessage}
-
- 【ManyToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误,中间类 {tbmidCsName}.{midTypePropsTrytbName} 导航属性不是【ManyToOne】或【OneToOne】
+
+ FreeSql:[ManyToMany] Navigation property {trytbTypeName}. {pnvName} parsing error, intermediate class {tbmidCsName}. The {midTypePropsTrytbName} navigation property is not ManyToOne or OneToOne
-
- 映射异常:{name} 没有一个属性名相同
+
+ FreeSql:Mapping exception: {name} None of the property names are the same
-
- Ado.MasterPool 值为 null,该操作无法自启用事务,请显式传递【事务对象】解决
+
+ FreeSql:Ado. MasterPool value is null, this operation cannot self-enable transactions, please explicitly pass [transaction object] resolution
-
- 缺少 FreeSql 数据库实现包:FreeSql.Provider.{Provider}.dll,可前往 nuget 下载
+
+ FreeSql:Missing FreeSql database implementation package: FreeSql. Provider. {Provider}. Dll, downloadable to nuget
-
- 缺少 FreeSql 数据库实现包:{dll},可前往 nuget 下载;如果存在 {dll} 依然报错(原因是环境问题导致反射不到类型),请在 UseConnectionString/UseConnectionFactory 第三个参数手工传入 typeof({providerType})
+
+ FreeSql:The FreeSql database implementation package is missing: {dll} can be downloaded to nuget; If there is {dll} and an error still occurs (due to environmental issues that cause the type to be unreflected), manually pass in typeof ({providerType}) in the third parameter of UseConnectionString/UseConnectionFactory
-
- 导航属性 {trytbTypeName}.{pnvName} 特性 [Navigate] Bind 数目({bindColumnsCount}) 与 外部主键数目({tbrefPrimarysLength}) 不相同
+
+ FreeSql:Navigation property {trytbTypeName}. The number of {pnvName} attributes [Navigate] Binds ({bindColumnsCount}) is different from the number of external primary keys ({tbrefPrimarysLength})
-
- {tb2DbName}.{mp2MemberName} 导航属性集合忘了 .AsSelect() 吗?如果在 ToList(a => a.{mp2MemberName}) 中使用,请移步参考 IncludeMany 文档。
+
+ FreeSql:{tb2DbName}. {mp2MemberName} Navigation Property Collection forgotten. AsSelect()? If used in ToList (a => a. {mp2MemberName}), step by step to refer to the IncludeMany document.
-
- 【导航属性】{trytbTypeDisplayCsharp}.{pName} 缺少 set 属性
+
+ FreeSql:[Navigation Properties]{trytbTypeDisplayCsharp}. Missing set attribute for {pName}
-
- 导航属性 {trytbTypeName}.{pnvName} 没有找到对应的字段,如:{pnvName}{findtbrefPkCsName}、{pnvName}_{findtbrefPkCsName}。或者使用 [Navigate] 特性指定关系映射。
+
+ FreeSql:Navigation property {trytbTypeName}. {pnvName} No corresponding fields were found, such as: {pnvName}{findtbrefPkCsName}, {pnvName}_ {findtbrefPkCsName}. Or use the [Navigate] attribute to specify the relationship mapping.
-
- 导航属性 {trytbTypeName}.{pnvName} 解析错误,实体类型 {trytcTypeName} 缺少主键标识,[Column(IsPrimary = true)]
+
+ FreeSql:Navigation property {trytbTypeName}. {pnvName} parsing error, entity type {trytcTypeName} missing primary key identity, [Column (IsPrimary = true)]
-
- 导航属性 {trytbTypeName}.{pnvName} 解析错误,{trytbCsName}.{trycolCsName} 和 {tbrefCsName}.{tbrefPrimarysCsName} 类型不一致
+
+ FreeSql:Navigation property {trytbTypeName}. {pnvName} parsing error, {trytbCsName}. {trycolCsName} and {tbrefCsName}. {tbrefPrimarysCsName} type inconsistent
-
- 导航属性 {trytbTypeName}.{pnvName} 特性 [Navigate] 解析错误,在 {tbrefTypeName} 未找到属性:{bi}
+
+ FreeSql:Navigation property {trytbTypeName}. {pnvName} attribute [Navigate] parsing error, property not found at {tbrefTypeName}: {bi}
-
- {tableTypeDisplayCsharp} 没有定义主键,无法使用 SetSource,请尝试 SetDto 或者 SetSource 指定临时主键
+
+ FreeSql:{tableTypeDisplayCsharp} has no primary key defined and cannot use SetSource. Try SetDto
-
- 没有定义属性
+
+ FreeSql:No properties defined
-
- 未实现
+
+ FreeSql:Not implemented
-
- 未实现函数表达式 {exp} 解析
+
+ FreeSql:Function expression {exp} parsing not implemented
-
- 未实现函数表达式 {exp} 解析,参数 {expArguments} 必须为常量
+
+ FreeSql:Function expression {exp} parsing not implemented, parameter {expArguments} must be constant
-
- 未实现函数表达式 {exp} 解析,如果正在操作导航属性集合,请使用 .AsSelect().{exp3MethodName}({exp3ArgumentsCount})
+
+ FreeSql:Function expression {exp} parsing is not implemented. Use if you are working on a navigation property collection. AsSelect (). {exp3MethodName} ({exp3ArgumentsCount})
-
- 未实现 MemberAccess 下的 Constant
+
+ FreeSql:Constant under MemberAccess is not implemented
-
- 未实现 {name}
+
+ FreeSql:{name} is not implemented
-
- 不支持
+
+ FreeSql:I won't support it
-
- {dataType} 不支持 OrderByRandom 随机排序
+
+ FreeSql:{dataType} does not support OrderByRandom sorting
-
- {property} 不是有效的导航属性
+
+ FreeSql:{property} is not a valid navigation property
-
- {dbName} 找不到列 {memberName}
+
+ FreeSql:{dbName} Column {memberName} not found
-
- 找不到 {CsName} 对应的列
+
+ FreeSql:Cannot find the column corresponding to {CsName}
-
- 找不到属性:{memberName}
+
+ FreeSql:Attribute not found: {memberName}
-
- 找不到属性名 {proto}
+
+ FreeSql:Property name {proto} not found
-
- Custom 找不到对应的{{ 反射信息 }}:{fiValueCustomArray}
+
+ FreeSql:Custom could not find the corresponding {{reflection information}}:{fiValueCustomArray}
-
- Custom 找不到对应的{{ 静态方法名 }}:{fiValueCustomArray}
+
+ FreeSql:Custom could not find the corresponding {{static method name}}:{fiValueCustomArray}
-
- [Table(AsTable = xx)] 设置的属性名 {atmGroupsValue} 不存在
+
+ FreeSql:The property name {atmGroupsValue} set by [Table(AsTable = xx)] does not exist
-
- 未指定 UseConnectionString 或者 UseConnectionFactory
+
+ FreeSql:No UseConnectionString or UseConnectionFactory specified
-
- 【{policyName}】ObjectPool.{GetName}() timeout {totalSeconds} seconds, see: https://github.com/dotnetcore/FreeSql/discussions/1081
+
+ FreeSql:[{policyName}] ObjectPool. {GetName}() timeout {totalSeconds} seconds, see: https://github.com/dotnetcore/FreeSql/discussions/1081
-
- 【{policyName}】ObjectPool.GetAsync() The queue is too long. Policy.AsyncGetCapacity = {asyncGetCapacity}
+
+ FreeSql:[{policyName}] ObjectPool. GetAsync() The queue is too long. Policy. AsyncGetCapacity = {asyncGetCapacity}
-
- 【OneToMany】导航属性 {trytbTypeName}.{pnvName} 在 {tbrefCsName} 中没有找到对应的字段,如:{findtrytb}{findtrytbPkCsName}、{findtrytb}_{findtrytbPkCsName}
+
+ FreeSql:[OneToMany] Navigation property {trytbTypeName}.{pnvName} did not find a corresponding field in {tbrefCsName}, such as: {findtrytb}{findtrytbPkCsName}, {findtrytb}_{findtrytbPkCsName}
-
- 【OneToMany】导航属性 {trytbTypeName}.{pnvName} 解析错误,{trytbCsName}.{trytbPrimarysCsName} 和 {tbrefCsName}.{trycolCsName} 类型不一致
+
+ FreeSql:[OneToMany] Navigation property {trytbTypeName}.{pnvName} parsing error, {trytbCsName}.{trytbPrimarysCsName} and {tbrefCsName}.{trycolCsName} is of inconsistent type
-
- 、{refpropName}{findtrytbPkCsName}、{refpropName}_{findtrytbPkCsName}。或者使用 [Navigate] 特性指定关系映射。
+
+ FreeSql:, {refpropName}{findtrytbPkCsName}, {refpropName}_{findtrytbPkCsName}. Or use the [Navigate] attribute to specify the relationship mapping.
-
- 参数 field 未指定
+
+ FreeSql:Parameter field not specified
-
- {property} 参数错误,它不是集合属性,必须为 IList<T> 或者 ICollection<T>
+
+ FreeSql:The {property} parameter is incorrect, it is not a collection property and must be IList<T>or ICollection<T>
-
- {property} 参数错误,它不是有效的导航属性
+
+ FreeSql:The {property} parameter is incorrect, it is not a valid navigation property
-
- {where} 参数错误,{keyval} 不是有效的属性名,在实体类 {reftbTypeDisplayCsharp} 无法找到
+
+ FreeSql:{where} parameter error, {keyval} is not a valid property name and cannot be found in entity class {reftbTypeDisplayCsharp}
-
- {property} 参数错误,格式 "TopicId=Id,多组使用逗号连接"
+
+ FreeSql:{property} parameter error, format "TopicId=Id, multiple groups using comma connection"
-
- 解析失败 {callExpMethodName} {message}
+
+ FreeSql:Parsing failed {callExpMethodName} {message}
-
- 【{policyName}】The ObjectPool has been disposed, see: https://github.com/dotnetcore/FreeSql/discussions/1079
+
+ FreeSql:[{policyName}] The ObjectPool has been disposed, see: https://github.com/dotnetcore/FreeSql/discussions/1079
-
- 【{policyName}】状态不可用,等待后台检查程序恢复方可使用。{UnavailableExceptionMessage}
+
+ FreeSql:The {policyName} status is unavailable and cannot be used until the background checker is restored. {UnavailableExceptionMessage}
-
- 属性{trytbVersionColumnCsName} 被标注为行锁(乐观锁)(IsVersion),但其必须为数字类型 或者 byte[],并且不可为 Nullable
+
+ FreeSql:The property {trytbVersionColumnCsName} is labeled as a row lock (optimistic lock) (IsVersion), but it must be a numeric type or byte[], and it cannot be Nullable
-
- properties 参数不能为空
+
+ FreeSql:Properrties parameter cannot be empty
-
- {property} 属性名无法找到
+
+ FreeSql:{property} property name not found
-
- Range 要求 Value 应该逗号分割,并且长度为 2
+
+ FreeSql:Range requires that Value be comma-separated and 2-length
-
- 回滚
+
+ FreeSql:RollBack
-
- 运行时错误,反射获取 IncludeMany 方法失败
+
+ FreeSql:Runtime error, reflection failed to get IncludeMany method
-
- {qoteSql} is NULL,除非设置特性 [Column(IsNullable = false)]
+
+ FreeSql:{qoteSql} is NULL unless the attribute [Column (IsNullable = false)]
-
- 分表字段值 "{dt}" 不能小于 "{beginTime} "
+
+ FreeSql:Subtable field value'{dt}'cannot be less than'{beginTime}'
-
- 分表字段值不能为 null
+
+ FreeSql:Subtable field value cannot be null
-
- 分表字段值 "{columnValue}" 不能转化成 DateTime
+
+ FreeSql:The tabular field value'{columnValue}'cannot be converted to DateTime
-
- 分表字段值 "{dt}" 未匹配到分表名
+
+ FreeSql:Table field value'{dt}'does not match table name
-
- T2 类型错误
+
+ FreeSql:Type T2 Error
-
- tableName 格式错误,示例:“log_{yyyyMMdd}”
+
+ FreeSql:TableName format error, example: "log_{yyyyMMdd}"
-
- {Type}.AsType 参数错误,请传入正确的实体类型
+
+ FreeSql:{Type}. AsType parameter error, please pass in the correct entity type
-
- {thatFullName} 类型无法访问构造函数
+
+ FreeSql:The {thatFullName} type cannot access the constructor
-
- {name} 类型错误
+
+ FreeSql:{name} type error
-
- {Type}.AsType 参数不支持指定为 object
+
+ FreeSql:{Type}. AsType parameter does not support specifying as object
-
- 类型 {typeofFullName} 错误,不能使用 IncludeMany
+
+ FreeSql:Type {typeofFullName} error, IncludeMany cannot be used
-
- 无法解析表达式:{exp}
+
+ FreeSql:Unable to parse expression: {exp}
-
- 无法解析表达式方法 {exp3tmpCallMethodName}
+
+ FreeSql:Unable to parse expression method {exp3tmpCallMethodName}
-
- 请使用 fsql.InsertDict(dict) 方法插入字典数据
+
+ FreeSql:Please use fsql. InsertDict (dict) method inserts dictionary data
-
\ No newline at end of file
+
diff --git a/FreeSql/Properties/CoreStrings.zh-Hans.resx b/FreeSql/Properties/CoreStrings.zh-Hans.resx
index d7036cb3..6e8b357f 100644
--- a/FreeSql/Properties/CoreStrings.zh-Hans.resx
+++ b/FreeSql/Properties/CoreStrings.zh-Hans.resx
@@ -495,4 +495,7 @@
请使用 fsql.InsertDict(dict) 方法插入字典数据
+
+ Test
+
\ No newline at end of file