ServiceStack.OrmLite 4.0.58没有为布尔连接条件创建正确的SQL

时间:2016-06-09 23:29:46

标签: servicestack ormlite-servicestack

我正在尝试使用ServiceStack.OrmLite v4.0.58连接两个表但是为布尔检查生成的SQL不正确:

var exp = Db.From<AdjustmentRequest>()
             .Join<Account>()
             .LeftJoin<CardHolder>((ar, ch) => ch.IsPrimary == true && ar.AccountId == ch.AccountId)

正在创建SQL的这个(片段):

FROM "AdjustmentRequest" 
INNER JOIN "Account" 
ON ("Account"."Id" = "AdjustmentRequest"."AccountId") 
LEFT JOIN "CardHolder" 
ON ("CardHolder"."IsPrimary" AND ("AdjustmentRequest"."AccountId" = "CardHolder"."AccountId"))

你可以在最后一行看到&#34; IsPrimary&#34;没有被比作1(真)。

这在以前的4.0.54中有效。

1 个答案:

答案 0 :(得分:3)

JOIN表达式中连接表上的bool条件问题现在应该是fixed in this commit

此更改现在可从v4.0.59获得,现在为available on MyGet