1

LINQ to SharePoint を使用して、ルックアップ フィールドを含む単純なリストを取得およびフィルター処理しようとしています。

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

問題は、フィールド従業員がランダムに 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 に設定できますが、これは必須ではあります。ドキュメントをアップロードするときにドキュメント ライブラリがある場合、リスト アイテムは作成されますが、どのフィールドにも入力されません。ルックアップが非 null になるのは、項目が後で編集されるまでではありません (既定の Web UI からのみアクセスした場合でも)。他にも例はありますが、アイデアはそのままです。SharePoint では、必須フィールドを null チェックする必要があります。

于 2012-05-29T16:04:51.240 に答える