我使用SqlKata纯粹是为了在C#中构建SQL查询。我需要的查询包含NOT IN命令,但我不知道如何用C#编写它。
这是我的SQL查询:
SELECT [User].UID as UserUID, FirstName, LastName FROM [USER]
WHERE [User].[AccountUID] = @p2
AND UID NOT IN (SELECT [User]
FROM [User]
OUTER APPLY [User].[UserProducts].nodes('/ArrayOfUserProduct/UserProduct') AS XmlData(UserProductXMLData)
LEFT OUTER JOIN [UserFormProducts] ON [UserFormProduct].[UserUID] = [User].[UID]
WHERE [User].[DeleteDate] IS NULL
AND (([UserFormProduct].[Product] = 0 AND [UserFormProduct].[FormUID] = @p1) OR [UserFormProduct].[UserUID] IS NULL)
AND [User].[AccountUID] = @p2 我正试图得到上面的查询,我现在在这里。
var countQuery = new Query("User")
.Join("User.[UserProduts].nodes('/ArrayOfUserProducts/UserProducts') as XmlData(UserProductXMLData)", j => j, "OUTER APPLY")
.LeftJoin("UserFormProducts", "UserFormProducts.UserUID", "User.UID")
.WhereNull("User.DeleteDate")
.Where(x => x.Where("UserFormProducts.Product", 0).OrWhereNull("UserFormProducts.UserUID"))
.Where("UserFormProducts.FormUID", formUID)
.Where("User.AccountUID", accountUID)有人知道我如何写我用SQL写的"UID而不是IN“部分吗?
发布于 2022-10-30 18:49:24
使用WhereNotIn()。文档。
传递一个IEnumerable来应用SQL条件。 新查询(“Posts”).WhereNotIn(“AuthorId”,new [] {1,2,3,4,5}); 从AuthorId非IN (1,2,3,4,5)的帖子中选择* 可以传递查询实例以对子查询进行筛选。 .Where(“状态”,“阻止”).Select(“Id”);新查询(“Posts”).WhereNotIn(“AuthorId”,阻塞); 从AuthorId NOT的帖子中选择*(从作者选择Id,其中的状态=‘阻止’) 注意:子查询应该返回一列
https://stackoverflow.com/questions/74255789
复制相似问题