我得到了以下问题。我正在尝试使用 With 或 WithMany 指令通过外部连接检索业务关系的角色链接列表。参照完整性已在数据库中到位,但角色表上的主键是复合键。这就是我使用 OuterJoin 子句的原因,否则会出现异常。
当查询被执行时,结果完全符合我的预期,并且很好地填充了数据。然而,在某些情况下,数据库中还没有可用的角色。所以我希望在这些情况下,返回的 SimpleList(下面的角色)将为空,因为没有可用的数据。相反,Simple.Data 返回一个 SimpleLIst,如果我在调试中展开动态视图,那么它会显示“空:无法发现有关此对象的更多信息”。即使我向下遍历并检索 SimpleList 中的第一个对象,它甚至在调试中返回与上面相同信息的 SimpleRecord。只有在我请求 SimpleRecord 的属性后,我才得到一些信息,即记录为空,因为它返回 null。
归根结底...有没有人可以告诉我如何在不遍历层次结构的情况下检查 SimpleList 或 SimpleRecord 是否为空或 null?
我正在使用 Simple.Data 0.16.1.0(由于政策我还不能使用测试版)
提前感谢您阅读整个故事...
下面是代码示例:
dynamic businessRelationRoles;
var query = db.Zakenrelaties.As("BusinessRelations")
.All()
.OuterJoin(db.Zakenrelaties_Rollen.As("Roles"), out businessRelationRoles)
.On(zr_ID: db.Zakenrelaties.zr_ID)
.With(businessRelationRoles);
foreach (var relation in query)
{
//Get the SimpleList as IEnumerable
IEnumerable<dynamic> roles = relation.Roles;
//Get the first available SimpleRecord
var role = roles.First();
//Check if any record was returned..This passes always?? Even if the SimpleList was empty
if (role != null)
{
//Get the id of the role. returns null if SimpleRecord was empty
var roleId = role.zrro_id;
}
}
有没有人可以帮助我?