0

我得到了以下问题。我正在尝试使用 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;
   }
}

有没有人可以帮助我?

4

1 回答 1

2

迟来的,仅供参考,这是一个错误,并在 0.17(又名 1.0-RC0)版本中得到修复。

于 2012-07-18T13:27:23.717 回答