私はLINQの初心者であり、これは私が最初に作成したのではなく、修正しようとしているコードであると言って、この前置きをさせてください。私はこのエラーについて多くの調査を行いましたが、まだ役立つものは何も見つかりませんでした。実際、このエラーは私の頭を回転させます。ともかく...
3つのSharePointリストからいくつかのデータを選択するLINQクエリがあります。ここにあります:
private void loadPEGrid(int id)
{
dc = new SpEntityDataContext(SPContext.GetContext(this.Context).Web.Url);
EntityList<ProductDocumentMapItem> dMaps = dc.GetList<ProductDocumentMapItem>("Product Document Map");
object mappedItems = null;
mappedItems = from m in dMaps
join p in dc.PEProducts on m.ProductID.Value equals p.Id.Value
join d in dc.ProductDocuments on m.DocID.Value equals d.Id.Value
where m.ProductID.Value == id && m.ProductType == "PE"
select new {
p.Grade,
d.Path,
d.DocumentType,
d.Title,
d.Name,
Language = d.Language.Title,
m.Id,
DocId = m.DocID };
GridViewProducts.KeyFieldName = "Id";
GridViewProducts.DataSource = mappedItems;
GridViewProducts.DataBind();
}
次のフィールドはnull許容です。
- m.ProductID
- m.DocID
- d.DocumentType
- m.Id
デバッグするとき、これはエラーをスローしませんが、ページがロードされるときはエラーをスローします:System.InvalidOperationException:Nullableオブジェクトには値が必要です
これは、選択しているフィールドの1つがnullであることを意味しますか、それとも結合フィールドの1つを意味しますか?データを確認したので、そうではないと思います。私からの情報がさらに必要な場合はお知らせください。