mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 18:52:50 +08:00
- 增加 IInsert InsertColumns/IgnoreColumns 方法重载输入 string[];#275
This commit is contained in:
parent
0ac564f801
commit
e62e425646
@ -120,6 +120,13 @@
|
||||
清空状态数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.RemoveAsync(System.Linq.Expressions.Expression{System.Func{`0,System.Boolean}})">
|
||||
<summary>
|
||||
根据 lambda 条件删除数据
|
||||
</summary>
|
||||
<param name="predicate"></param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.DbSet`1.Add(`0)">
|
||||
<summary>
|
||||
添加
|
||||
@ -214,6 +221,15 @@
|
||||
</summary>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.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>
|
||||
<member name="M:FreeSql.IBaseRepository.AsType(System.Type)">
|
||||
<summary>
|
||||
动态Type,在使用 Repository<object> 后使用本方法,指定实体类型
|
||||
|
@ -907,6 +907,13 @@
|
||||
<param name="columns">lambda选择列</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.IInsert`1.InsertColumns(System.String[])">
|
||||
<summary>
|
||||
只插入的列
|
||||
</summary>
|
||||
<param name="columns">属性名,或者字段名</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.IInsert`1.IgnoreColumns(System.Linq.Expressions.Expression{System.Func{`0,System.Object}})">
|
||||
<summary>
|
||||
忽略的列,IgnoreColumns(a => a.Name) | IgnoreColumns(a => new{a.Name,a.Time}) | IgnoreColumns(a => new[]{"name","time"})
|
||||
@ -914,6 +921,13 @@
|
||||
<param name="columns">lambda选择列</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.IInsert`1.IgnoreColumns(System.String[])">
|
||||
<summary>
|
||||
忽略的列
|
||||
</summary>
|
||||
<param name="columns">属性名,或者字段名</param>
|
||||
<returns></returns>
|
||||
</member>
|
||||
<member name="M:FreeSql.IInsert`1.InsertIdentity">
|
||||
<summary>
|
||||
指定可插入自增字段
|
||||
|
@ -48,12 +48,25 @@ namespace FreeSql
|
||||
/// <param name="columns">lambda选择列</param>
|
||||
/// <returns></returns>
|
||||
IInsert<T1> InsertColumns(Expression<Func<T1, object>> columns);
|
||||
/// <summary>
|
||||
/// 只插入的列
|
||||
/// </summary>
|
||||
/// <param name="columns">属性名,或者字段名</param>
|
||||
/// <returns></returns>
|
||||
IInsert<T1> InsertColumns(string[] columns);
|
||||
|
||||
/// <summary>
|
||||
/// 忽略的列,IgnoreColumns(a => a.Name) | IgnoreColumns(a => new{a.Name,a.Time}) | IgnoreColumns(a => new[]{"name","time"})
|
||||
/// </summary>
|
||||
/// <param name="columns">lambda选择列</param>
|
||||
/// <returns></returns>
|
||||
IInsert<T1> IgnoreColumns(Expression<Func<T1, object>> columns);
|
||||
/// <summary>
|
||||
/// 忽略的列
|
||||
/// </summary>
|
||||
/// <param name="columns">属性名,或者字段名</param>
|
||||
/// <returns></returns>
|
||||
IInsert<T1> IgnoreColumns(string[] columns);
|
||||
|
||||
/// <summary>
|
||||
/// 指定可插入自增字段
|
||||
|
@ -442,19 +442,24 @@ namespace FreeSql.Internal.CommonProvider
|
||||
public abstract long ExecuteIdentity();
|
||||
public abstract List<T1> ExecuteInserted();
|
||||
|
||||
public IInsert<T1> IgnoreColumns(Expression<Func<T1, object>> columns)
|
||||
public IInsert<T1> IgnoreColumns(Expression<Func<T1, object>> columns) => IgnoreColumns(_commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null));
|
||||
public IInsert<T1> InsertColumns(Expression<Func<T1, object>> columns) => InsertColumns(_commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null));
|
||||
|
||||
public IInsert<T1> IgnoreColumns(string[] columns)
|
||||
{
|
||||
var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null).Distinct();
|
||||
_ignore.Clear();
|
||||
foreach (var col in cols) _ignore.Add(col, true);
|
||||
return this;
|
||||
}
|
||||
public IInsert<T1> InsertColumns(Expression<Func<T1, object>> columns)
|
||||
{
|
||||
var cols = _commonExpression.ExpressionSelectColumns_MemberAccess_New_NewArrayInit(null, columns?.Body, false, null).ToDictionary(a => a, a => true);
|
||||
var cols = columns.Distinct().ToDictionary(a => a);
|
||||
_ignore.Clear();
|
||||
foreach (var col in _table.Columns.Values)
|
||||
if (cols.ContainsKey(col.Attribute.Name) == false && _auditValueChangedDict.ContainsKey(col.Attribute.Name) == false)
|
||||
if (cols.ContainsKey(col.Attribute.Name) == true || cols.ContainsKey(col.CsName) == true)
|
||||
_ignore.Add(col.Attribute.Name, true);
|
||||
return this;
|
||||
}
|
||||
public IInsert<T1> InsertColumns(string[] columns)
|
||||
{
|
||||
var cols = columns.Distinct().ToDictionary(a => a);
|
||||
_ignore.Clear();
|
||||
foreach (var col in _table.Columns.Values)
|
||||
if (cols.ContainsKey(col.Attribute.Name) == false && cols.ContainsKey(col.CsName) == false && _auditValueChangedDict.ContainsKey(col.Attribute.Name) == false)
|
||||
_ignore.Add(col.Attribute.Name, true);
|
||||
return this;
|
||||
}
|
||||
|
@ -309,7 +309,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
|
||||
public IUpdate<T1> IgnoreColumns(string[] columns)
|
||||
{
|
||||
var cols = columns.ToDictionary(a => a);
|
||||
var cols = columns.Distinct().ToDictionary(a => a);
|
||||
_ignore.Clear();
|
||||
foreach (var col in _table.Columns.Values)
|
||||
if (cols.ContainsKey(col.Attribute.Name) == true || cols.ContainsKey(col.CsName) == true)
|
||||
@ -318,7 +318,7 @@ namespace FreeSql.Internal.CommonProvider
|
||||
}
|
||||
public IUpdate<T1> UpdateColumns(string[] columns)
|
||||
{
|
||||
var cols = columns.ToDictionary(a => a);
|
||||
var cols = columns.Distinct().ToDictionary(a => a);
|
||||
_ignore.Clear();
|
||||
foreach (var col in _table.Columns.Values)
|
||||
if (cols.ContainsKey(col.Attribute.Name) == false && cols.ContainsKey(col.CsName) == false && _auditValueChangedDict.ContainsKey(col.Attribute.Name) == false)
|
||||
|
Loading…
x
Reference in New Issue
Block a user