From d602dfbaaae17494ad1ff466a20304b06d9d327d Mon Sep 17 00:00:00 2001
From: 28810 <28810@YEXIANGQIN>
Date: Mon, 10 Aug 2020 12:27:39 +0800
Subject: [PATCH] =?UTF-8?q?-=20=E4=BF=AE=E5=A4=8D=201.7.1=20IsNullable=20?=
=?UTF-8?q?=E9=81=97=E7=95=99=E9=97=AE=E9=A2=98=EF=BC=9B?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
---
FreeSql.DbContext/FreeSql.DbContext.xml | 16 ++++++++++++++++
FreeSql.Tests/FreeSql.Tests/UnitTest3.cs | 14 ++++++++++++--
FreeSql/Internal/UtilsExpressionTree.cs | 2 +-
3 files changed, 29 insertions(+), 3 deletions(-)
diff --git a/FreeSql.DbContext/FreeSql.DbContext.xml b/FreeSql.DbContext/FreeSql.DbContext.xml
index 5ca74890..2acb6679 100644
--- a/FreeSql.DbContext/FreeSql.DbContext.xml
+++ b/FreeSql.DbContext/FreeSql.DbContext.xml
@@ -130,6 +130,13 @@
清空状态数据
+
+
+ 根据 lambda 条件删除数据
+
+
+
+
添加
@@ -520,5 +527,14 @@
+
+
+ 批量注入 Repository,可以参考代码自行调整
+
+
+
+
+
+
diff --git a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
index ba54689f..d89e4db3 100644
--- a/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
+++ b/FreeSql.Tests/FreeSql.Tests/UnitTest3.cs
@@ -158,20 +158,30 @@ namespace FreeSql.Tests
class testInsertNullable
{
- [Column(IsIdentity = true)]
+ [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; }
}
[Fact]
public void Test03()
{
g.sqlite.Insert(new testInsertNullable()).NoneParameter().ExecuteAffrows();
-
+ var ddlsql = g.sqlite.CodeFirst.GetComparisonDDLStatements(typeof(testInsertNullable), "tb123123");
+ Assert.Equal(@"CREATE TABLE IF NOT EXISTS ""main"".""tb123123"" (
+ ""Id"" INTEGER PRIMARY KEY AUTOINCREMENT,
+ ""str1"" NVARCHAR(255) NOT NULL,
+ ""int1"" INTEGER NOT NULL,
+ ""int2"" INTEGER
+)
+;
+", ddlsql);
var sqlxx = g.pgsql.InsertOrUpdate().SetSource(new userinfo { userid = 10 }).UpdateColumns(a => new { a.birthday, a.CardNo }).ToSql();
diff --git a/FreeSql/Internal/UtilsExpressionTree.cs b/FreeSql/Internal/UtilsExpressionTree.cs
index 2b81e503..549cdac1 100644
--- a/FreeSql/Internal/UtilsExpressionTree.cs
+++ b/FreeSql/Internal/UtilsExpressionTree.cs
@@ -122,7 +122,7 @@ namespace FreeSql.Internal
colattr.DbType = colattr.DbType.ToUpper();
if (colattrIsNull == false && colattrIsNullable == true) colattr.DbType = colattr.DbType.Replace("NOT NULL", "");
- if (colattrIsNull == false && colattrIsNullable == false) colattr.DbType = Regex.Replace(colattr.DbType, @"\bNULL\b", "").Trim() + " NOT NULL";
+ if (colattrIsNull == false && colattrIsNullable == false && colattr.DbType.Contains("NOT NULL") == false) colattr.DbType = Regex.Replace(colattr.DbType, @"\bNULL\b", "").Trim() + " NOT NULL";
if (colattr._IsNullable == null && tp != null && tp.isnullable == null) colattr.IsNullable = tp.dbtypeFull.Contains("NOT NULL") == false;
if (colattr.DbType?.Contains("NOT NULL") == true) colattr.IsNullable = false;
if (string.IsNullOrEmpty(colattr.Name)) colattr.Name = p.Name;