diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml index 743835e4..d198eb6c 100644 --- a/FreeSql.DbContext/FreeSql.DbContext.xml +++ b/FreeSql.DbContext/FreeSql.DbContext.xml @@ -130,13 +130,6 @@ 清空状态数据 - - - 根据 lambda 条件删除数据 - - - - 添加 @@ -483,7 +476,7 @@ - 不跟踪查询的实体数据(在不需要更新其数据时使用),可提长查询性能 + 不跟踪查询的实体数据(在不需要更新其数据时使用),可提升查询性能 @@ -532,14 +525,5 @@ - - - 批量注入 Repository,可以参考代码自行调整 - - - - - - diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs index 003bd4d2..2898efc6 100644 --- a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs +++ b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs @@ -156,18 +156,18 @@ namespace FreeSql.Tests } } - class testInsertNullable - { - [Column(IsNullable = false, IsIdentity = true)] - public long Id { get; set; } +class testInsertNullable +{ + [Column(IsNullable = false, IsIdentity = true)] + public long Id { get; set; } - [Column(IsNullable = false)] - public string str1 { get; set; } - [Column(IsNullable = false)] - public int? int1 { get; set; } - [Column(IsNullable = true)] - public int int2 { get; set; } - } + [Column(IsNullable = false)] + public string str1 { get; set; } + [Column(IsNullable = false)] + public int? int1 { get; set; } + [Column(IsNullable = true)] + public int int2 { get; set; } +} class testUpdateNonePk { @@ -177,6 +177,12 @@ namespace FreeSql.Tests [Fact] public void Test03() { + var updateSql = g.sqlite.Update() + .AsType(typeof(testInsertNullable)) + .SetDto(new { str1 = "xxx" }) + .WhereDynamic(1) + .ToSql(); + var sqlextMax112 = g.sqlserver.Select() .GroupBy(a => a.Id) .ToSql(a => new diff --git a/FreeSql/Internal/CommonUtils.cs b/FreeSql/Internal/CommonUtils.cs index 6b8f85d0..0bcd1bbd 100644 --- a/FreeSql/Internal/CommonUtils.cs +++ b/FreeSql/Internal/CommonUtils.cs @@ -333,7 +333,10 @@ namespace FreeSql.Internal var psidx = 0; foreach (var p in ps) { - if (table.Columns.TryGetValue(p.Name, out var trycol) == false) continue; + table.Columns.TryGetValue(p.Name, out var trycol); + if (trycol == null) table.ColumnsByCs.TryGetValue(p.Name, out trycol); + if (trycol == null) continue; + if (psidx > 0) sb.Append(" AND "); sb.Append(aliasAndDot).Append(this.QuoteSqlName(trycol.Attribute.Name)); sb.Append(this.FormatSql(" = {0}", Utils.GetDataReaderValue(trycol.Attribute.MapType, p.GetValue(dywhere, null))));