1

我正在尝试使用 LINQ to SharePoint 来检索和过滤带有查找字段的简单列表

  var list = _db.Leaves.Where(x =>x.Employee != null && x.Employee.Id == empId).ToList();

问题有时是随机的 Field Employee 是 null !我不知道为什么!它是如此奇怪,以至于它随机发生,导致它抛出异常,有人知道为什么会这样吗?

<Field Type="Lookup" DisplayName="Employee" Required="True" EnforceUniqueValues="FALSE" List="Lists/Employees" ShowField="EnFullName" ID="{26183411-9bbf-48a1-b2f8-3388b98c7fef}" Name="Employee" ColName="int2" RowOrdinal="0" Indexed="TRUE" RelationshipDeleteBehavior="Restrict" />
4

1 回答 1

0

如果没有为该字段分配值,则 Employee 将为 null。

仅仅因为它是必填字段并不意味着该字段将始终具有值。“必需”仅适用于该列表的 Web 表单表单,它不是对实际数据库本身的限制。例如,在代码中,您可以创建/编辑一个对象并将该字段设置为 null 而不会出现任何问题,即使它是必需的。如果您在上传文档时有一个文档库,它会创建列表项但不填充任何字段;直到项目稍后被编辑,查找才会是非空的(即使仅通过开箱即用的 Web UI 访问)。还有其他例子,但这个想法仍然存在。在 SharePoint 中,您需要对必填字段进行空检查。

于 2012-05-29T16:04:51.240 回答