mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
为 InsertOrUpdateDictImpl 增加 WhereIdentityPrimary
This commit is contained in:
parent
181fb90ef6
commit
695251fc88
@ -733,6 +733,15 @@
|
|||||||
<param name="modelBuilder"></param>
|
<param name="modelBuilder"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:FreeSqlDbContextExtensions.ApplyConfigurationsFromAssembly(FreeSql.ICodeFirst,System.Reflection.Assembly,System.Func{System.Type,System.Boolean})">
|
||||||
|
<summary>
|
||||||
|
根据Assembly扫描所有继承IEntityTypeConfiguration<T>的配置类
|
||||||
|
</summary>
|
||||||
|
<param name="codeFirst"></param>
|
||||||
|
<param name="assembly"></param>
|
||||||
|
<param name="predicate"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
<member name="M:FreeSqlDbContextExtensions.CreateDbContext(IFreeSql)">
|
<member name="M:FreeSqlDbContextExtensions.CreateDbContext(IFreeSql)">
|
||||||
<summary>
|
<summary>
|
||||||
创建普通数据上下文档对象
|
创建普通数据上下文档对象
|
||||||
@ -791,5 +800,14 @@
|
|||||||
<param name="that"></param>
|
<param name="that"></param>
|
||||||
<returns></returns>
|
<returns></returns>
|
||||||
</member>
|
</member>
|
||||||
|
<member name="M:Microsoft.Extensions.DependencyInjection.FreeSqlRepositoryDependencyInjection.AddFreeRepository(Microsoft.Extensions.DependencyInjection.IServiceCollection,System.Action{FreeSql.FluentDataFilter},System.Reflection.Assembly[])">
|
||||||
|
<summary>
|
||||||
|
批量注入 Repository,可以参考代码自行调整
|
||||||
|
</summary>
|
||||||
|
<param name="services"></param>
|
||||||
|
<param name="globalDataFilter"></param>
|
||||||
|
<param name="assemblies"></param>
|
||||||
|
<returns></returns>
|
||||||
|
</member>
|
||||||
</members>
|
</members>
|
||||||
</doc>
|
</doc>
|
||||||
|
@ -1086,11 +1086,17 @@ SELECT ");
|
|||||||
}
|
}
|
||||||
return pks.ToArray();
|
return pks.ToArray();
|
||||||
}
|
}
|
||||||
public static void SetTablePrimary(TableInfo table, params string[] primarys)
|
|
||||||
|
public static void SetTablePrimary(TableInfo table, bool isIdenity, params string[] primarys)
|
||||||
{
|
{
|
||||||
foreach (var primary in primarys)
|
foreach (var primary in primarys)
|
||||||
{
|
{
|
||||||
if (table.ColumnsByCs.TryGetValue(string.Concat(primary), out var col)) col.Attribute.IsPrimary = true;
|
if (table.ColumnsByCs.TryGetValue(string.Concat(primary), out var col))
|
||||||
|
{
|
||||||
|
col.Attribute.IsPrimary = true;
|
||||||
|
if (isIdenity)
|
||||||
|
col.Attribute.IsIdentity = true;
|
||||||
|
}
|
||||||
else throw new Exception(CoreStrings.GetPrimarys_ParameterError_IsNotDictKey(primary));
|
else throw new Exception(CoreStrings.GetPrimarys_ParameterError_IsNotDictKey(primary));
|
||||||
}
|
}
|
||||||
table.Primarys = table.Columns.Where(a => a.Value.Attribute.IsPrimary).Select(a => a.Value).ToArray();
|
table.Primarys = table.Columns.Where(a => a.Value.Attribute.IsPrimary).Select(a => a.Value).ToArray();
|
||||||
@ -1172,7 +1178,13 @@ SELECT ");
|
|||||||
|
|
||||||
public InsertOrUpdateDictImpl WherePrimary(params string[] primarys)
|
public InsertOrUpdateDictImpl WherePrimary(params string[] primarys)
|
||||||
{
|
{
|
||||||
UpdateDictImpl.SetTablePrimary(_insertOrUpdateProvider._table, primarys);
|
UpdateDictImpl.SetTablePrimary(_insertOrUpdateProvider._table, false, primarys);
|
||||||
|
_insertOrUpdateProvider._tempPrimarys = _insertOrUpdateProvider._table.Primarys;
|
||||||
|
return this;
|
||||||
|
}
|
||||||
|
public InsertOrUpdateDictImpl WhereIdentityPrimary(params string[] primarys)
|
||||||
|
{
|
||||||
|
UpdateDictImpl.SetTablePrimary(_insertOrUpdateProvider._table, true, primarys);
|
||||||
_insertOrUpdateProvider._tempPrimarys = _insertOrUpdateProvider._table.Primarys;
|
_insertOrUpdateProvider._tempPrimarys = _insertOrUpdateProvider._table.Primarys;
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user