人大金仓数据库生成sql语句语法问题 返回

SqlSugar 沟通中
1 91
该叫什么 yl 发布于2周前
悬赏:0 飞吻

var list = Context.Queryable<Bis_BloodApply, Bis_BloodApplyBreedDetail>((apply, detail) => apply.ApplyCode == detail.ApplyCode)

    .Where((apply, detail) => apply.HospitalCode == hospitalCode

        && detail.HospitalCode == hospitalCode

        && apply.RegisterNo == registerNo

        && apply.ApplyDateTime >= hours24Ago

        && apply.TerminationStatus == 0

        && apply.ApplyStatus > 1)

    .GroupBy((apply, detail) => new { apply.RegisterNo, detail.GroupCode, detail.UnitName })

    .Select((apply, detail) => new Bis_BloodAmountVo

    {

        RegisterNo = apply.RegisterNo,

        GroupCode = detail.GroupCode,

        Amount = SqlFunc.AggregateSum(detail.Quantity),

        Amount_ML = SqlFunc.AggregateSum(detail.Quantity_ML),

        UnitName = detail.UnitName

    })

    .ToList();


以上.net代码连接人大金仓数据库后,生成的sql语句如下:

SELECT  "apply"."RegisterNo" AS "RegisterNo" , 

"detail"."GroupCode" AS "GroupCode" , 

SUM("detail"."Quantity") AS "Amount" , 

SUM("detail"."Quantity_ML") AS "Amount_ML" , 

"detail"."UnitName" AS "UnitName"  

FROM "Bis_BloodApply" "apply"  ,"Bis_BloodApplyBreedDetail"  "detail"  

WHERE ( "apply"."ApplyCode" = "detail"."ApplyCode" )  

AND (((((( "apply".CAST("HospitalCode" AS TEXT) = N'1170' ) 

AND ( "detail".CAST("HospitalCode" AS TEXT) = N'1170' )) 

AND ( "apply".CAST("RegisterNo" AS TEXT) = N'957758' )) 

AND ( "apply"."ApplyDateTime" >= '2025-12-01 00:00:00.000' )) 

AND ( "apply"."TerminationStatus" = 0 )) 

AND ( "apply"."ApplyStatus" > 1 ))

GROUP BY "apply"."RegisterNo","detail"."GroupCode","detail"."UnitName"

问题是:detail.HospitalCode == hospitalCode  为什么会转换为   "detail".CAST("HospitalCode" AS TEXT) = N'1170' )  

为什么会有一个CAST AS TEXT 转换,需要如何配置?


热忱回答1

  • 1、提供金仓安装模式和版本号

    //可以查看安装的模式
    show database_mode;
     
    //查看版本号
    SELECT version();

    2、代码有没有设置DatabaseModel

    0 回复