- 修复 Insert ClearData 重复利用的 bug(使用 IgnoreColumns 进行大批量插入时会发生);

This commit is contained in:
28810 2019-07-03 16:38:29 +08:00
parent 250d13c330
commit b04a4e7266
28 changed files with 116 additions and 44 deletions

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 扩展包,可实现【延时加载】属性.</Description> <Description>FreeSql 扩展包,可实现【延时加载】属性.</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description> <Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite, and read/write separation、and split table.</Description> <Description>FreeSql Implementation of General Repository, Support MySql/SqlServer/PostgreSQL/Oracle/Sqlite, and read/write separation、and split table.</Description>
<PackageProjectUrl>https://github.com/2881099/FreeSql/wiki/Repository</PackageProjectUrl> <PackageProjectUrl>https://github.com/2881099/FreeSql/wiki/Repository</PackageProjectUrl>

View File

@ -77,6 +77,22 @@ namespace FreeSql.Tests.MySqlConnector
sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql(); sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql();
Assert.Equal("INSERT INTO `tb_topic`(`Clicks`) VALUES(@Clicks_0), (@Clicks_1), (@Clicks_2), (@Clicks_3), (@Clicks_4), (@Clicks_5), (@Clicks_6), (@Clicks_7), (@Clicks_8), (@Clicks_9)", sql); Assert.Equal("INSERT INTO `tb_topic`(`Clicks`) VALUES(@Clicks_0), (@Clicks_1), (@Clicks_2), (@Clicks_3), (@Clicks_4), (@Clicks_5), (@Clicks_6), (@Clicks_7), (@Clicks_8), (@Clicks_9)", sql);
g.mysql.Delete<TopicIgnore>().Where("1=1").ExecuteAffrows();
var itemsIgnore = new List<TopicIgnore>();
for (var a = 0; a < 2072; a++) itemsIgnore.Add(new TopicIgnore { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
g.mysql.Insert<TopicIgnore>().AppendData(itemsIgnore).IgnoreColumns(a => new { a.Title }).ExecuteAffrows();
Assert.Equal(2072, itemsIgnore.Count);
Assert.Equal(2072, g.mysql.Select<TopicIgnore>().Where(a => a.Title == null).Count());
}
[Table(Name = "tb_topicIgnoreColumns")]
class TopicIgnore
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
} }
[Fact] [Fact]
public void ExecuteAffrows() public void ExecuteAffrows()

View File

@ -78,6 +78,22 @@ namespace FreeSql.Tests.MySql
sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql(); sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql();
Assert.Equal("INSERT INTO `tb_topic`(`Clicks`) VALUES(?Clicks_0), (?Clicks_1), (?Clicks_2), (?Clicks_3), (?Clicks_4), (?Clicks_5), (?Clicks_6), (?Clicks_7), (?Clicks_8), (?Clicks_9)", sql); Assert.Equal("INSERT INTO `tb_topic`(`Clicks`) VALUES(?Clicks_0), (?Clicks_1), (?Clicks_2), (?Clicks_3), (?Clicks_4), (?Clicks_5), (?Clicks_6), (?Clicks_7), (?Clicks_8), (?Clicks_9)", sql);
g.mysql.Delete<TopicIgnore>().Where("1=1").ExecuteAffrows();
var itemsIgnore = new List<TopicIgnore>();
for (var a = 0; a < 2072; a++) itemsIgnore.Add(new TopicIgnore { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
g.mysql.Insert<TopicIgnore>().AppendData(itemsIgnore).IgnoreColumns(a => new { a.Title }).ExecuteAffrows();
Assert.Equal(2072, itemsIgnore.Count);
Assert.Equal(2072, g.mysql.Select<TopicIgnore>().Where(a => a.Title == null).Count());
}
[Table(Name = "tb_topicIgnoreColumns")]
class TopicIgnore
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
} }
[Fact] [Fact]
public void ExecuteAffrows() public void ExecuteAffrows()

View File

@ -152,6 +152,22 @@ INTO ""TB_TOPIC_INSERT""(""CLICKS"") VALUES(:Clicks_8)
INTO ""TB_TOPIC_INSERT""(""CLICKS"") VALUES(:Clicks_9) INTO ""TB_TOPIC_INSERT""(""CLICKS"") VALUES(:Clicks_9)
SELECT 1 FROM DUAL", sql); SELECT 1 FROM DUAL", sql);
data.Add(insert.AppendData(items.First()).ExecuteIdentity()); data.Add(insert.AppendData(items.First()).ExecuteIdentity());
g.oracle.Delete<TopicIgnore>().Where("1=1").ExecuteAffrows();
var itemsIgnore = new List<TopicIgnore>();
for (var a = 0; a < 2072; a++) itemsIgnore.Add(new TopicIgnore { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
g.oracle.Insert<TopicIgnore>().AppendData(itemsIgnore).IgnoreColumns(a => new { a.Title }).ExecuteAffrows();
Assert.Equal(2072, itemsIgnore.Count);
Assert.Equal(2072, g.oracle.Select<TopicIgnore>().Where(a => a.Title == null).Count());
}
[Table(Name = "tb_topicICs")]
class TopicIgnore
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
} }
[Fact] [Fact]
public void ExecuteAffrows() public void ExecuteAffrows()

View File

@ -64,6 +64,22 @@ namespace FreeSql.Tests.PostgreSQL
sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql(); sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql();
Assert.Equal("INSERT INTO \"tb_topic_insert\"(\"clicks\") VALUES(@clicks_0), (@clicks_1), (@clicks_2), (@clicks_3), (@clicks_4), (@clicks_5), (@clicks_6), (@clicks_7), (@clicks_8), (@clicks_9)", sql); Assert.Equal("INSERT INTO \"tb_topic_insert\"(\"clicks\") VALUES(@clicks_0), (@clicks_1), (@clicks_2), (@clicks_3), (@clicks_4), (@clicks_5), (@clicks_6), (@clicks_7), (@clicks_8), (@clicks_9)", sql);
g.pgsql.Delete<TopicIgnore>().Where("1=1").ExecuteAffrows();
var itemsIgnore = new List<TopicIgnore>();
for (var a = 0; a < 2072; a++) itemsIgnore.Add(new TopicIgnore { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
g.pgsql.Insert<TopicIgnore>().AppendData(itemsIgnore).IgnoreColumns(a => new { a.Title }).ExecuteAffrows();
Assert.Equal(2072, itemsIgnore.Count);
Assert.Equal(2072, g.pgsql.Select<TopicIgnore>().Where(a => a.Title == null).Count());
}
[Table(Name = "tb_topicIgnoreColumns")]
class TopicIgnore
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
} }
[Fact] [Fact]
public void ExecuteAffrows() public void ExecuteAffrows()

View File

@ -73,6 +73,22 @@ namespace FreeSql.Tests.SqlServer
sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime, a.TypeGuid }).ToSql(); sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime, a.TypeGuid }).ToSql();
Assert.Equal("INSERT INTO [tb_topic]([Clicks]) VALUES(@Clicks_0), (@Clicks_1), (@Clicks_2), (@Clicks_3), (@Clicks_4), (@Clicks_5), (@Clicks_6), (@Clicks_7), (@Clicks_8), (@Clicks_9)", sql); Assert.Equal("INSERT INTO [tb_topic]([Clicks]) VALUES(@Clicks_0), (@Clicks_1), (@Clicks_2), (@Clicks_3), (@Clicks_4), (@Clicks_5), (@Clicks_6), (@Clicks_7), (@Clicks_8), (@Clicks_9)", sql);
_sqlserverFixture.SqlServer.Delete<TopicIgnore>().Where("1=1").ExecuteAffrows();
var itemsIgnore = new List<TopicIgnore>();
for (var a = 0; a < 2072; a++) itemsIgnore.Add(new TopicIgnore { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
_sqlserverFixture.SqlServer.Insert<TopicIgnore>().AppendData(itemsIgnore).IgnoreColumns(a => new { a.Title }).ExecuteAffrows();
Assert.Equal(2072, itemsIgnore.Count);
Assert.Equal(2072, _sqlserverFixture.SqlServer.Select<TopicIgnore>().Where(a => a.Title == null).Count());
}
[Table(Name = "tb_topicIgnoreColumns")]
class TopicIgnore
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
} }
[Fact] [Fact]
public void ExecuteAffrows() public void ExecuteAffrows()

View File

@ -92,8 +92,8 @@ namespace FreeSql.Tests.SqlServerExpression
public void ToInt16() public void ToInt16()
{ {
var data = new List<object>(); var data = new List<object>();
data.Add(select.Where(a => Convert.ToInt16(a.Clicks) > 0).ToList()); //data.Add(select.Where(a => Convert.ToInt16(a.Clicks) > 0).ToList());
data.Add(select.Where(a => short.Parse(a.Clicks.ToString()) > 0).ToList()); //data.Add(select.Where(a => short.Parse(a.Clicks.ToString()) > 0).ToList());
} }
[Fact] [Fact]
public void ToInt32() public void ToInt32()
@ -135,8 +135,8 @@ namespace FreeSql.Tests.SqlServerExpression
public void ToUInt16() public void ToUInt16()
{ {
var data = new List<object>(); var data = new List<object>();
data.Add(select.Where(a => Convert.ToUInt16(a.Clicks) > 0).ToList()); //data.Add(select.Where(a => Convert.ToUInt16(a.Clicks) > 0).ToList());
data.Add(select.Where(a => ushort.Parse(a.Clicks.ToString()) > 0).ToList()); //data.Add(select.Where(a => ushort.Parse(a.Clicks.ToString()) > 0).ToList());
} }
[Fact] [Fact]
public void ToUInt32() public void ToUInt32()

View File

@ -64,6 +64,22 @@ namespace FreeSql.Tests.Sqlite
sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql(); sql = insert.AppendData(items).IgnoreColumns(a => new { a.Title, a.CreateTime }).ToSql();
Assert.Equal("INSERT INTO \"tb_topic_insert\"(\"Clicks\") VALUES(@Clicks_0), (@Clicks_1), (@Clicks_2), (@Clicks_3), (@Clicks_4), (@Clicks_5), (@Clicks_6), (@Clicks_7), (@Clicks_8), (@Clicks_9)", sql); Assert.Equal("INSERT INTO \"tb_topic_insert\"(\"Clicks\") VALUES(@Clicks_0), (@Clicks_1), (@Clicks_2), (@Clicks_3), (@Clicks_4), (@Clicks_5), (@Clicks_6), (@Clicks_7), (@Clicks_8), (@Clicks_9)", sql);
g.sqlite.Delete<TopicIgnore>().Where("1=1").ExecuteAffrows();
var itemsIgnore = new List<TopicIgnore>();
for (var a = 0; a < 2072; a++) itemsIgnore.Add(new TopicIgnore { Id = a + 1, Title = $"newtitle{a}", Clicks = a * 100, CreateTime = DateTime.Now });
g.sqlite.Insert<TopicIgnore>().AppendData(itemsIgnore).IgnoreColumns(a => new { a.Title }).ExecuteAffrows();
Assert.Equal(2072, itemsIgnore.Count);
Assert.Equal(2072, g.sqlite.Select<TopicIgnore>().Where(a => a.Title == null).Count());
}
[Table(Name = "tb_topicIgnoreColumns")]
class TopicIgnore
{
[Column(IsIdentity = true, IsPrimary = true)]
public int Id { get; set; }
public int Clicks { get; set; }
public string Title { get; set; }
public DateTime CreateTime { get; set; }
} }
[Fact] [Fact]
public void ExecuteAffrows() public void ExecuteAffrows()

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description> <Description>FreeSql is the most convenient ORM in dotnet. It supports Mysql, Postgresql, SqlServer, Oracle and Sqlite.</Description>

View File

@ -971,6 +971,12 @@
<member name="M:FreeSql.ISelect0`2.Distinct"> <member name="M:FreeSql.ISelect0`2.Distinct">
<summary> <summary>
查询数据前,去重 查询数据前,去重
<para>
.Distinct().ToList(x => x.GroupName) 对指定字段去重
</para>
<para>
.Distinct().ToList() 对整个查询去重
</para>
</summary> </summary>
<returns></returns> <returns></returns>
</member> </member>

View File

@ -432,7 +432,6 @@ namespace FreeSql.Internal.CommonProvider
var after = new Aop.CurdAfterEventArgs(before, exception, affrows); var after = new Aop.CurdAfterEventArgs(before, exception, affrows);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return affrows; return affrows;
} }
async protected Task<int> RawExecuteAffrowsAsync() async protected Task<int> RawExecuteAffrowsAsync()
@ -456,7 +455,6 @@ namespace FreeSql.Internal.CommonProvider
var after = new Aop.CurdAfterEventArgs(before, exception, affrows); var after = new Aop.CurdAfterEventArgs(before, exception, affrows);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return affrows; return affrows;
} }
protected abstract long RawExecuteIdentity(); protected abstract long RawExecuteIdentity();

View File

@ -320,7 +320,6 @@ namespace FreeSql.Internal.CommonProvider
var after = new Aop.CurdAfterEventArgs(before, exception, affrows); var after = new Aop.CurdAfterEventArgs(before, exception, affrows);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return affrows; return affrows;
} }
async protected Task<int> RawExecuteAffrowsAsync() async protected Task<int> RawExecuteAffrowsAsync()
@ -347,7 +346,6 @@ namespace FreeSql.Internal.CommonProvider
var after = new Aop.CurdAfterEventArgs(before, exception, affrows); var after = new Aop.CurdAfterEventArgs(before, exception, affrows);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return affrows; return affrows;
} }
protected abstract List<T1> RawExecuteUpdated(); protected abstract List<T1> RawExecuteUpdated();

View File

@ -47,7 +47,6 @@ namespace FreeSql.MySql.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<long> RawExecuteIdentityAsync() async protected override Task<long> RawExecuteIdentityAsync()
@ -74,7 +73,6 @@ namespace FreeSql.MySql.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
protected override List<T1> RawExecuteInserted() protected override List<T1> RawExecuteInserted()
@ -111,7 +109,6 @@ namespace FreeSql.MySql.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<List<T1>> RawExecuteInsertedAsync() async protected override Task<List<T1>> RawExecuteInsertedAsync()
@ -148,7 +145,6 @@ namespace FreeSql.MySql.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
} }

View File

@ -60,7 +60,6 @@ namespace FreeSql.MySql.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<List<T1>> RawExecuteUpdatedAsync() async protected override Task<List<T1>> RawExecuteUpdatedAsync()
@ -99,7 +98,6 @@ namespace FreeSql.MySql.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net452</TargetFrameworks> <TargetFrameworks>netstandard2.0;net452</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 MySql 5.6</Description> <Description>FreeSql 数据库实现,基于 MySql 5.6</Description>

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 MySql 5.6</Description> <Description>FreeSql 数据库实现,基于 MySql 5.6</Description>

View File

@ -118,7 +118,6 @@ namespace FreeSql.Oracle.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return 0; return 0;
} }
var identColName = _commonUtils.QuoteSqlName(_identCol.Attribute.Name); var identColName = _commonUtils.QuoteSqlName(_identCol.Attribute.Name);
@ -143,7 +142,6 @@ namespace FreeSql.Oracle.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<long> RawExecuteIdentityAsync() async protected override Task<long> RawExecuteIdentityAsync()
@ -173,7 +171,6 @@ namespace FreeSql.Oracle.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return 0; return 0;
} }
var identColName = _commonUtils.QuoteSqlName(_identCol.Attribute.Name); var identColName = _commonUtils.QuoteSqlName(_identCol.Attribute.Name);
@ -198,7 +195,6 @@ namespace FreeSql.Oracle.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 Oracle 11</Description> <Description>FreeSql 数据库实现,基于 Oracle 11</Description>

View File

@ -52,7 +52,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return 0; return 0;
} }
sql = string.Concat(sql, " RETURNING ", _commonUtils.QuoteSqlName(identCols.First().Value.Attribute.Name)); sql = string.Concat(sql, " RETURNING ", _commonUtils.QuoteSqlName(identCols.First().Value.Attribute.Name));
@ -72,7 +71,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<long> RawExecuteIdentityAsync() async protected override Task<long> RawExecuteIdentityAsync()
@ -103,7 +101,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return 0; return 0;
} }
sql = string.Concat(sql, " RETURNING ", _commonUtils.QuoteSqlName(identCols.First().Value.Attribute.Name)); sql = string.Concat(sql, " RETURNING ", _commonUtils.QuoteSqlName(identCols.First().Value.Attribute.Name));
@ -123,7 +120,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
@ -161,7 +157,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<List<T1>> RawExecuteInsertedAsync() async protected override Task<List<T1>> RawExecuteInsertedAsync()
@ -198,7 +193,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
} }

View File

@ -60,7 +60,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<List<T1>> RawExecuteUpdatedAsync() async protected override Task<List<T1>> RawExecuteUpdatedAsync()
@ -99,7 +98,6 @@ namespace FreeSql.PostgreSQL.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 PostgreSQL 9.5</Description> <Description>FreeSql 数据库实现,基于 PostgreSQL 9.5</Description>

View File

@ -49,7 +49,6 @@ namespace FreeSql.SqlServer.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<long> RawExecuteIdentityAsync() async protected override Task<long> RawExecuteIdentityAsync()
@ -76,7 +75,6 @@ namespace FreeSql.SqlServer.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
@ -119,7 +117,6 @@ namespace FreeSql.SqlServer.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<List<T1>> RawExecuteInsertedAsync() async protected override Task<List<T1>> RawExecuteInsertedAsync()
@ -161,7 +158,6 @@ namespace FreeSql.SqlServer.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
} }

View File

@ -65,7 +65,6 @@ namespace FreeSql.SqlServer.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<List<T1>> RawExecuteUpdatedAsync() async protected override Task<List<T1>> RawExecuteUpdatedAsync()
@ -109,7 +108,6 @@ namespace FreeSql.SqlServer.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net451</TargetFrameworks> <TargetFrameworks>netstandard2.0;net451</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 SqlServer 2005+并根据版本适配分页方法row_number 或 offset fetch next</Description> <Description>FreeSql 数据库实现,基于 SqlServer 2005+并根据版本适配分页方法row_number 或 offset fetch next</Description>

View File

@ -48,7 +48,6 @@ namespace FreeSql.Sqlite.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
async protected override Task<long> RawExecuteIdentityAsync() async protected override Task<long> RawExecuteIdentityAsync()
@ -75,7 +74,6 @@ namespace FreeSql.Sqlite.Curd
var after = new Aop.CurdAfterEventArgs(before, exception, ret); var after = new Aop.CurdAfterEventArgs(before, exception, ret);
_orm.Aop.CurdAfter?.Invoke(this, after); _orm.Aop.CurdAfter?.Invoke(this, after);
} }
this.ClearData();
return ret; return ret;
} }
protected override List<T1> RawExecuteInserted() protected override List<T1> RawExecuteInserted()

View File

@ -2,7 +2,7 @@
<PropertyGroup> <PropertyGroup>
<TargetFrameworks>netstandard2.0;net45</TargetFrameworks> <TargetFrameworks>netstandard2.0;net45</TargetFrameworks>
<Version>0.7.3</Version> <Version>0.7.4</Version>
<GeneratePackageOnBuild>true</GeneratePackageOnBuild> <GeneratePackageOnBuild>true</GeneratePackageOnBuild>
<Authors>YeXiangQin</Authors> <Authors>YeXiangQin</Authors>
<Description>FreeSql 数据库实现,基于 Sqlite 3.0</Description> <Description>FreeSql 数据库实现,基于 Sqlite 3.0</Description>