LINQ to SharePoint 中的查阅字段有时无法检索

本文关键字:检索 字段 SharePoint to LINQ | 更新日期: 2023-09-27 18:35:42

我尝试使用 LINQ to SharePoint 检索和筛选带有查找字段的简单列表

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

问题有时是随机的现场员工为空! 我不知道为什么! 它是如此奇怪,它随机发生,导致它抛出投射异常,任何人都知道为什么会发生这种情况吗?

<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" />

LINQ to SharePoint 中的查阅字段有时无法检索

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

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