首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用SqlKata的连接表查询

使用SqlKata的连接表查询
EN

Stack Overflow用户
提问于 2021-10-06 08:24:04
回答 2查看 64关注 0票数 1

我使用ADO.NET创建了一个查询,但必须将其更改为SqlKata。试过几次了。这是我尝试编写的最后一个查询,但是有一个错误说join只有一个参数:

代码语言:javascript
复制
var partnumId = db.Query("EED_OBJ_Entity").Select("ID")
                    .Join(J => J.On("EED_OBJ_Entity.IDCategory", "EED_OBJ_Categories.ID"));

这是我尝试使用SqlKata重写的代码:

代码语言:javascript
复制
internal static string GetPartNumberId(string partNumber, int type, SqlConnection connection)
        {

            SqlCommand cmd = new SqlCommand($"select e.ID from EED_OBJ_Entity as e join EED_OBJ_Categories as c on e.IDCategory = c.ID where e.PartNo = (@partNumber) and c.[Type] = (@type)",
                connection);

            cmd.Parameters.Add(new SqlParameter("partNumber", partNumber));
            cmd.Parameters.Add(new SqlParameter("type", type));
            cmd.CommandType = CommandType.Text;


            return (cmd.ExecuteScalar()).ToString();

        }

你知道怎么做吗?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2021-10-06 08:32:50

SqlKata连接函数有另一个重载,它比lambda函数简单得多。

代码语言:javascript
复制
var partnumId = db.Query("EED_OBJ_Entity as e").Select("e.ID")
                    .Join("EED_OBJ_Categories as c", "e.IDCategory", "c.ID");

您还可以使用SqlKata Playgroud查看编译后的查询。我使用了SqlServer编译器。

票数 2
EN

Stack Overflow用户

发布于 2021-10-12 09:42:36

结账:https://sqlkata.com/docs/join

代码语言:javascript
复制
var query = new Query("comments").LeftJoin("Posts", j =>
    j.On("Posts.Id", "Comments.Id").WhereNotNull("Comments.AuthorId")
);
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69462203

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档