mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-04-22 02:32:50 +08:00
- 优化 IUpdate 组合更新方式;
This commit is contained in:
parent
910cd9dc9f
commit
3cee28fd42
@ -422,11 +422,23 @@ namespace base_entity
|
|||||||
{
|
{
|
||||||
public Guid id { get; set; }
|
public Guid id { get; set; }
|
||||||
public string name { get; set; }
|
public string name { get; set; }
|
||||||
[Column(IsVersion = true, DbType = "timestamp", CanInsert = false, CanUpdate = false)]
|
[Column(IsVersion = true)]
|
||||||
public byte[] version { get; set; }
|
public byte[] version { get; set; }
|
||||||
}
|
}
|
||||||
public static void VersionBytes(IFreeSql fsql)
|
public static void VersionBytes(IFreeSql fsql)
|
||||||
{
|
{
|
||||||
|
|
||||||
|
fsql.Aop.ConfigEntityProperty += (_, e) =>
|
||||||
|
{
|
||||||
|
if (fsql.Ado.DataType == DataType.SqlServer &&
|
||||||
|
e.Property.Name == "version")
|
||||||
|
{
|
||||||
|
e.ModifyResult.DbType = "timestamp";
|
||||||
|
e.ModifyResult.CanInsert = false;
|
||||||
|
e.ModifyResult.CanUpdate = false;
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
fsql.Delete<VersionBytes01>().Where("1=1").ExecuteAffrows();
|
fsql.Delete<VersionBytes01>().Where("1=1").ExecuteAffrows();
|
||||||
var item = new VersionBytes01 { name = "name01" };
|
var item = new VersionBytes01 { name = "name01" };
|
||||||
fsql.Insert(item).ExecuteAffrows();
|
fsql.Insert(item).ExecuteAffrows();
|
||||||
@ -537,7 +549,15 @@ namespace base_entity
|
|||||||
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
BaseEntity.Initialization(fsql, () => _asyncUow.Value);
|
||||||
#endregion
|
#endregion
|
||||||
fsql.UseJsonMap();
|
fsql.UseJsonMap();
|
||||||
VersionBytes(fsql);
|
|
||||||
|
var items = new List<User1>();
|
||||||
|
for (var a = 0; a < 3; a++) items.Add(new User1 { Id = Guid.NewGuid(), Avatar = $"avatar{a}" });
|
||||||
|
var sqltest01 = fsql.Update<User1>()
|
||||||
|
.SetSource(items)
|
||||||
|
.UpdateColumns(a => a.Avatar)
|
||||||
|
.Set(a => a.Sort + 1).ToSql();
|
||||||
|
|
||||||
|
//VersionBytes(fsql);
|
||||||
|
|
||||||
|
|
||||||
fsql.Delete<TJson01>().Where(a => true).ExecuteAffrows();
|
fsql.Delete<TJson01>().Where(a => true).ExecuteAffrows();
|
||||||
|
@ -800,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>
|
||||||
|
@ -1129,7 +1129,7 @@ namespace FreeSql.Internal.CommonProvider
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (_setIncr.Length > 0)
|
if (_setIncr.Length > 0)
|
||||||
sb.Append(_set.Length > 0 ? _setIncr.ToString() : _setIncr.ToString().Substring(2));
|
sb.Append(_set.Length > 0 || _source.Any() ? _setIncr.ToString() : _setIncr.ToString().Substring(2));
|
||||||
|
|
||||||
if (_source.Any() == false)
|
if (_source.Any() == false)
|
||||||
{
|
{
|
||||||
|
@ -189,7 +189,7 @@ namespace FreeSql.ClickHouse.Curd
|
|||||||
return;
|
return;
|
||||||
|
|
||||||
if (_setIncr.Length > 0)
|
if (_setIncr.Length > 0)
|
||||||
sb.Append(_set.Length > 0 ? _setIncr.ToString() : _setIncr.ToString().Substring(2));
|
sb.Append(_set.Length > 0 || _source.Any() ? _setIncr.ToString() : _setIncr.ToString().Substring(2));
|
||||||
|
|
||||||
if (_source.Any() == false)
|
if (_source.Any() == false)
|
||||||
{
|
{
|
||||||
|
Loading…
x
Reference in New Issue
Block a user