多表查询问题 返回
程序上代码:
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();
出错:
生成的sql语句,在sqlserver里可以查询:
SELECT ul.* FROM [UserLogin] ul Left JOIN [UserInfo] ui ON ul.id = ui.loginid WHERE (ul.id='9J7A9797EA7JA1A9EE79AA939JA19913')
热忱回答(3)
-
fate stay night VIP0
2021/5/20这个是空引用错误
0 回复 -
fate stay night VIP0
2021/5/20语法和文档上好像不一样
0 回复 -
程序人生 VIP0
2021/5/21谢谢,可以了
是我的上下文的数据库连接串问题。
方法一:
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 回复