mirror of
https://github.com/nsnail/FreeSql.git
synced 2025-12-27 10:25:47 +08:00
- 完善 BulkCopy Update
This commit is contained in:
@@ -4,6 +4,126 @@
|
||||
<name>FreeSql.Tests</name>
|
||||
</assembly>
|
||||
<members>
|
||||
<member name="T:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01">
|
||||
<summary>
|
||||
实时数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.Guid">
|
||||
<summary>
|
||||
Guid
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.TenantId">
|
||||
<summary>
|
||||
租户Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.Version">
|
||||
<summary>
|
||||
版本
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.IsDeleted">
|
||||
<summary>
|
||||
是否删除
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.CreatedUserId">
|
||||
<summary>
|
||||
创建者Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.CreatedUserNameUpdate01">
|
||||
<summary>
|
||||
创建者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.CreatedTime">
|
||||
<summary>
|
||||
创建时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.ModifiedUserId">
|
||||
<summary>
|
||||
修改者Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.ModifiedUserName">
|
||||
<summary>
|
||||
修改者
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.ModifiedTime">
|
||||
<summary>
|
||||
修改时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.DataFlag">
|
||||
<summary>
|
||||
数据标识
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.Id">
|
||||
<summary>
|
||||
主键Id
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.EquipmentCode">
|
||||
<summary>
|
||||
设备编号
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.PropertyCode">
|
||||
<summary>
|
||||
数据编号,如为空使用默认数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.PropertyName">
|
||||
<summary>
|
||||
数据名称,如为空使用默认数据
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.IsValueOrStateChanged">
|
||||
<summary>
|
||||
数值或状态是否变更
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.NumericValue">
|
||||
<summary>
|
||||
采集数值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.Remark">
|
||||
<summary>
|
||||
备注
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.ServiceFlag">
|
||||
<summary>
|
||||
服务标记
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.StrState">
|
||||
<summary>
|
||||
状态
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.StrValue">
|
||||
<summary>
|
||||
文本数值
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.UnitStr">
|
||||
<summary>
|
||||
单位
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.ClickHouse.CollectDataEntityUpdate01.CollectTime">
|
||||
<summary>
|
||||
采集时间
|
||||
</summary>
|
||||
</member>
|
||||
<member name="P:FreeSql.Tests.Firebird.FirebirdCodeFirstTest.AddUniquesInfo.id">
|
||||
<summary>
|
||||
编号
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
using FreeSql.DataAnnotations;
|
||||
using FreeSql.DataAnnotations;
|
||||
using System;
|
||||
using System.Collections.Generic;
|
||||
using System.Linq;
|
||||
@@ -137,6 +137,23 @@ namespace FreeSql.Tests.PostgreSQL
|
||||
insert.AppendData(items.First()).ExecuteInserted();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void ExecutePgCopy()
|
||||
{
|
||||
var maxId = g.pgsql.Select<Topic>().Max(a => a.Id);
|
||||
var items = new List<Topic>();
|
||||
for (var a = 0; a < 10; a++) items.Add(new Topic { Id = maxId + a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
|
||||
|
||||
insert.AppendData(items).InsertIdentity().ExecutePgCopy();
|
||||
|
||||
items = g.pgsql.Select<Topic>().OrderByDescending(a => a.Id).Limit(1000).ToList();
|
||||
var sql = g.pgsql.Insert(items).InsertIdentity().NoneParameter().ToSql();
|
||||
g.pgsql.Update<Topic>().SetSource(items).ExecutePgCopy();
|
||||
g.pgsql.Update<Topic>().SetSource(items, a => new { a.Id, a.Clicks }).ExecutePgCopy();
|
||||
g.pgsql.Update<Topic>().SetSource(items).UpdateColumns(a => new { a.Title }).ExecutePgCopy();
|
||||
g.pgsql.Update<Topic>().SetSource(items, a => new { a.Id, a.Clicks }).UpdateColumns(a => new { a.Title }).ExecutePgCopy();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
public void AsTable()
|
||||
{
|
||||
|
||||
@@ -227,12 +227,19 @@ namespace FreeSql.Tests.SqlServer
|
||||
[Fact]
|
||||
public void ExecuteSqlBulkCopy()
|
||||
{
|
||||
var maxId = g.pgsql.Select<Topic>().Max(a => a.Id);
|
||||
var items = new List<Topic>();
|
||||
for (var a = 0; a < 10; a++) items.Add(new Topic { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
|
||||
for (var a = 0; a < 10; a++) items.Add(new Topic { Id = maxId + a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
|
||||
|
||||
insert.AppendData(items).InsertIdentity().ExecuteSqlBulkCopy();
|
||||
//insert.AppendData(items).IgnoreColumns(a => new { a.CreateTime, a.Clicks }).ExecuteSqlBulkCopy();
|
||||
// System.NotSupportedException:“DataSet does not support System.Nullable<>.”
|
||||
|
||||
items = g.sqlserver.Select<Topic>().OrderByDescending(a => a.Id).Limit(1000).ToList();
|
||||
g.sqlserver.Update<Topic>().SetSource(items).ExecuteSqlBulkCopy();
|
||||
g.sqlserver.Update<Topic>().SetSource(items, a => new { a.Id, a.TypeGuid }).ExecuteSqlBulkCopy();
|
||||
g.sqlserver.Update<Topic>().SetSource(items).UpdateColumns(a => new { a.Title }).ExecuteSqlBulkCopy();
|
||||
g.sqlserver.Update<Topic>().SetSource(items, a => new { a.Id, a.TypeGuid }).UpdateColumns(a => new { a.Title }).ExecuteSqlBulkCopy();
|
||||
}
|
||||
|
||||
[Fact]
|
||||
|
||||
Reference in New Issue
Block a user