DotNetNext / SqlSugar

.Net aot ORM Fastest ORM Simple Easy VB.NET Sqlite orm Oracle ORM Mysql Orm 虚谷数据库 postgresql ORm SqlServer oRm 达梦 ORM 人大金仓 ORM 神通ORM C# ORM , C# ORM .NET ORM NET5 ORM .NET6 ORM ClickHouse orm QuestDb ,TDengine ORM,OceanBase orm,GaussDB orm ,Tidb orm Object/Relational Mapping
https://www.donet5.com/Home/Doc
MIT License
5.24k stars 1.33k forks source link

bug: 单表查询映射到实体,字段均为null #1137

Closed langhaoabcd closed 1 year ago

langhaoabcd commented 1 year ago

从v4 升级到了 v5,出现了以下问题,新开的项目下测试结果 1.正常情况: 查询后直接取first image 能查到结果 image image

2.异常情况: 查询到取结果中间加了段代码 image 结果为null image 生成两段sql image

langhaoabcd commented 1 year ago

测试环境,net6,mssql 2019 SqlSugarCore Version="5.1.4.59"

DotNetNext commented 1 year ago

你实体没有get set吧 或者用了Private

DotNetNext commented 1 year ago

一般出现这个问题都是实体问题

langhaoabcd commented 1 year ago

实体只加了一个属性 image

符合配置实体的规范 对于 CRUD来说只需要配置主键和自增列就行了 ,如果类的名称和数据库不一样可以设置数据库中的名称

langhaoabcd commented 1 year ago

我开始也以为是实体的问题,百思不得其解。最后发现是代码里这个判断的问题,不加就可以. 在老版本里运行好好的,就升级后出的问题

DotNetNext commented 1 year ago

没听懂什么意思,如果还没有就名字不一样 需要suagrcolumns配置数据库名称

DotNetNext commented 1 year ago

看懂了,如果一个queryable多次使用 需要 queryable.Clone().Any()

DotNetNext commented 1 year ago

你的代码可以优化一下 var data=db.queryable().xxx.First(); if(data==null) thow

langhaoabcd commented 1 year ago

好的