如何通过ServiceStack.OrmLite获取通过中间table关联的所有对象?
How can I get all the objects associated through the intermediate table by ServiceStack.OrmLite?
我是初学者,刚开始使用ServiceStack.OrmLite。我有个问题。如何通过中间table获取所有关联的对象?
详情如下:
Public class book
{
Public int id { get; set; }
Public string name { get; set; }
[Reference]
Public List<bookusers> bookusers { get; set; }
}
Public class bookusers
{
Public int id { get; set; }
Public int bookid { get; set; }
Public int userid { get; set; }
[Reference]
Public book book { get; set; }
[Reference]
Public user userObject { get; set; }
}
Public class user
{
Public int id { get; set; }
Public int age { get; set; }
[Reference]
Public List<bookusers> userbooks { get; set; }
}
var model = db.LoadSingleById<book>(id);
db.LoadReferences(model);
// model.bookusers[0].userObject is null
您不能直接检索二级参考文献 stated in documentation。
Loads related data only 1-reference-level deep
下一个可能是快速而肮脏的工作方法
var model = db.LoadSingleById<book>(id);
if (model.bookusers != null && model.bookusers.Any())
{
foreach (var bookUser in model.bookusers)
{
db.LoadReferences(bookUser);
}
}
那么您应该填充 userObject
属性。
我是初学者,刚开始使用ServiceStack.OrmLite。我有个问题。如何通过中间table获取所有关联的对象?
详情如下:
Public class book
{
Public int id { get; set; }
Public string name { get; set; }
[Reference]
Public List<bookusers> bookusers { get; set; }
}
Public class bookusers
{
Public int id { get; set; }
Public int bookid { get; set; }
Public int userid { get; set; }
[Reference]
Public book book { get; set; }
[Reference]
Public user userObject { get; set; }
}
Public class user
{
Public int id { get; set; }
Public int age { get; set; }
[Reference]
Public List<bookusers> userbooks { get; set; }
}
var model = db.LoadSingleById<book>(id);
db.LoadReferences(model);
// model.bookusers[0].userObject is null
您不能直接检索二级参考文献 stated in documentation。
Loads related data only 1-reference-level deep
下一个可能是快速而肮脏的工作方法
var model = db.LoadSingleById<book>(id);
if (model.bookusers != null && model.bookusers.Any())
{
foreach (var bookUser in model.bookusers)
{
db.LoadReferences(bookUser);
}
}
那么您应该填充 userObject
属性。