多表查询问题 返回

SqlSugar 老数据
3 1674

程序上代码:

            DbContext<UserLogin> dbContext = new DbContext<UserLogin>();

            var result = dbContext.Db.Queryable("UserLogin", "ul")

            .AddJoinInfo("UserInfo", "ui", "ul.id = ui.loginid")

            .Where("(ul.id='9J7A9797EA7JA1A9EE79AA939JA19913')")

            .Select("ul.*")

            .ToList();

            Console.WriteLine(result);

            Console.ReadKey();

    出错:image.png

生成的sql语句,在sqlserver里可以查询:

SELECT ul.* FROM [UserLogin] ul Left JOIN [UserInfo] ui ON ul.id = ui.loginid   WHERE (ul.id='9J7A9797EA7JA1A9EE79AA939JA19913')



热忱回答3

  • 这个是空引用错误

    0 回复
  • 语法和文档上好像不一样

    0 回复
  • 谢谢,可以了

    是我的上下文的数据库连接串问题。

     方法一:

               DbContext dbContext = new DbContext();

                var JsonList1 = dbContext.Db.Queryable("UserLogin", "ul")


                    .AddJoinInfo("UserInfo", "ui", "ul.id = ui.loginid")


                    .Where("(ul.id='9J7A9797EA7JA1A9EE79AA939JA19913')")


                    .Select("ul.*")


                    .ToJson();

    方法二:(文档上一样)

                var id = "9j7a9797ea7ja1a9ee79aa939ja19913";

                dbcontext<dynamic> db = new dbcontext<dynamic>();

                var jsonlist1 = db.db.queryable<dynamic>("ul").as ("userlogin")

                    .addjoininfo("userinfo", "ui", "ul.id=ui.loginid")

                    .where("ul.id=@id", new { id = id })

                    .select("ul.*")

                    .tojson();

    以上两种方法都可以取数据。

    0 回复