为提高效率,提问时请提供以下信息,问题描述清晰可优先响应。
【DM版本】: --03134284294-20241009-244896-20119 Pack3
【操作系统】:openEuler 22.03 (LTS-SP4) Docker
【CPU】: 10
【问题描述】*:
.net core ef 驱动:
<PackageReference Include="DM.DmProvider" Version="8.3.1.30495" />
<PackageReference Include="DM.Microsoft.EntityFrameworkCore" Version="3.1.0.27907" />
DDL:
CREATE TABLE "Blogs"
(
"BlogId" INT IDENTITY(2, 1) NOT NULL,
"Url" VARCHAR(200) DEFAULT '' NOT NULL,
"Jdata" TEXT,
NOT CLUSTER PRIMARY KEY("BlogId"),
CONSTRAINT "Jdata_json" CHECK("Jdata" IS JSON )) STORAGE(ON "MAIN", CLUSTERBTR);
代码:
var blogList = db.Blogs.OrderBy(o => o.Url); db.Add(new Blog { Url = "" });
db.SaveChanges();
报错:
旧版本是可以正常的:
<PackageReference Include="DM.DmProvider" Version="8.3.1.25526" />
<PackageReference Include="DM.Microsoft.EntityFrameworkCore" Version="3.1.0.20604" />
麻烦回答者给出有效的答复,如果有信息不全我随时可以补充。
就数据库报错而言,是空串
''
当作NULL
导致违反了非空约束。2个demo是连的相同数据库吗,如果不同注意下数据库参数COMPATIBLE_MODE
的取值,一般=2时候发生,看看2个库是否一致;如果是同样的库看下连接url其中一个是否带有COMPATIBLE_MODE