From 306f619e90558df042ff4166b5386b4ad44f0a4c Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Wed, 19 Aug 2020 16:11:22 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=20Dto=20=E6=98=A0?=
=?UTF-8?q?=E5=B0=84=E6=9F=A5=E8=AF=A2=E5=B1=9E=E6=80=A7=E5=90=8D=E4=B8=8D?=
=?UTF-8?q?=E5=8C=BA=E5=88=86=E5=A4=A7=E5=B0=8F=E5=86=99=20bug=20#427?=
=?UTF-8?q?=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
.../DbContext/DbContextOptions.cs | 4 ++--
FreeSql.DbContext/FreeSql.DbContext.xml | 20 ++-----------------
FreeSql.Tests/FreeSql.Tests/UnitTest1.cs | 15 ++++++++++++++
FreeSql/Internal/CommonExpression.cs | 4 ++--
4 files changed, 21 insertions(+), 22 deletions(-)
diff --git a/FreeSql.DbContext/DbContext/DbContextOptions.cs b/FreeSql.DbContext/DbContext/DbContextOptions.cs
index e43ff5ae..25cd8df4 100644
--- a/FreeSql.DbContext/DbContext/DbContextOptions.cs
+++ b/FreeSql.DbContext/DbContext/DbContextOptions.cs
@@ -16,8 +16,8 @@ namespace FreeSql
/// - 保存的时候,实体的属性集合是空的,如何操作?记录全部删除?
/// - 保存的时候,由于数据库中记录非常之多,那么只想保存子表的部分数据,或者只需要添加,如何操作?
///
- /// 【多对多】模型下,我们对中间表的保存是完整对比操作,对外部实体的操作只作新增(注意不会更新)
- /// - 属性集合为空时,删除他们的所有关联数据(中间表)
+ /// 【多对多】模型下,我们对中间表的保存是完整对比操作,对外部实体的操作只作新增(*注意不会更新)
+ /// - 属性集合为空时,删除他们的所有关联数据(中间表)
/// - 属性集合不为空时,与数据库存在的关联数据(中间表)完全对比,计算出应该删除和添加的记录
///
public bool EnableAddOrUpdateNavigateList { get; set; } = false;
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 312b0c42..5a0c8bd0 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -86,8 +86,8 @@
- 保存的时候,实体的属性集合是空的,如何操作?记录全部删除?
- 保存的时候,由于数据库中记录非常之多,那么只想保存子表的部分数据,或者只需要添加,如何操作?
- 【多对多】模型下,我们对中间表的保存是完整对比操作,对外部实体的操作只作新增(注意不会更新)
- - 属性集合为空时,删除他们的所有关联数据(中间表)
+ 【多对多】模型下,我们对中间表的保存是完整对比操作,对外部实体的操作只作新增(*注意不会更新)
+ - 属性集合为空时,删除他们的所有关联数据(中间表)
- 属性集合不为空时,与数据库存在的关联数据(中间表)完全对比,计算出应该删除和添加的记录
@@ -130,13 +130,6 @@
清空状态数据
-
-
- 根据 lambda 条件删除数据
-
-
-
-
添加
@@ -532,14 +525,5 @@
-
-
- 批量注入 Repository,可以参考代码自行调整
-
-
-
-
-
-
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
index 81dd4ac7..63226af1 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest1.cs
@@ -435,9 +435,24 @@ namespace FreeSql.Tests
}
public enum TestUpdateModelEnum { x1, x2, x3 }
+ public class Cadre
+ {
+ public int? education { get; set; }
+ public int? Education { get; set; }
+ }
+ public class TbCadre
+ {
+ public Guid Id { get; set; }
+ public int? Education2 { get; set; }
+ }
+
[Fact]
public void Test1()
{
+ g.sqlite.Insert(new[] { new TbCadre { Education2 = 10 }, new TbCadre { Education2 = 11 } }).ExecuteAffrows();
+ var tst102 = g.sqlite.Select().First(a => new Cadre { Education = a.Education2 });
+
+
var testemoji = new TestGuidId { xxx = "💐🌸💮🌹🌺🌻🌼🌷🌱🌿🍀" };
Assert.Equal(1, g.sqlserver.Insert(testemoji).ExecuteAffrows());
var emoji = g.sqlserver.Select().Where(a => a.Id == testemoji.Id).First();
diff --git a/FreeSql/Internal/CommonExpression.cs b/FreeSql/Internal/CommonExpression.cs
index d6382158..584962a2 100644
--- a/FreeSql/Internal/CommonExpression.cs
+++ b/FreeSql/Internal/CommonExpression.cs
@@ -102,7 +102,7 @@ namespace FreeSql.Internal
{
var child = new ReadAnonymousTypeInfo
{
- Property = tb.Properties.TryGetValue(map[idx].Column.CsName, out var tryprop) ? tryprop : tb.Type.GetProperty(map[idx].Column.CsName, BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance),
+ Property = tb.Properties.TryGetValue(map[idx].Column.CsName, out var tryprop) ? tryprop : tb.Type.GetProperty(map[idx].Column.CsName, BindingFlags.Public | BindingFlags.Instance),
CsName = map[idx].Column.CsName,
DbField = $"{map[idx].Table.Alias}.{_common.QuoteSqlName(map[idx].Column.Attribute.Name)}",
CsType = map[idx].Column.CsType,
@@ -214,7 +214,7 @@ namespace FreeSql.Internal
if (initAssignExp == null) continue;
var child = new ReadAnonymousTypeInfo
{
- Property = initExp.Type.GetProperty(initExp.Bindings[a].Member.Name, BindingFlags.Public | BindingFlags.IgnoreCase | BindingFlags.Instance),
+ Property = initExp.Type.GetProperty(initExp.Bindings[a].Member.Name, BindingFlags.Public | BindingFlags.Instance),
CsName = initExp.Bindings[a].Member.Name,
CsType = initAssignExp.Expression.Type,
MapType = initAssignExp.Expression.Type