我有这些查询。第一个initialData获取没有过滤器的ID列表,第二个查询根据用户输入过滤出结果。 FieldId和CategoryId是它们自己的表的外键/主键。问题是,当应用程序首次加载时,会发送空值并且可以接受。但是,当它到达第二个查询时,我得到的对象引用未设置为实例错误。
.net core / c#中是否存在空文本标识符?
var initialData = (from item in dbContext.DocumentCategories
join df in dbContext.DocumentFields
on item.Id equals df.DocumentCategoriesId
join dfs in dbContext.DocumentFieldsStore
on df.Id equals dfs.DocumentFieldsId
select new SearchDocumentsListViewModel
{
CategoryId = item.Id,
DocumentId = dfs.DocumentsId,
FieldId = df.Id
})
.ToList();
initialData = initialData
.Where(u => u.CategoryId.Contains(CategoryId) &&
u.FieldId.Contains(FieldId) &&
u.Data.Contains(FilterInput.Data))
.ToList();
我还发现,当我将“ 0”作为值时,会触发相同的错误,但是如果我输入“ abc”之类的东西,它将继续正常工作。
注意:我将GUID用于我的ID
答案 0 :(得分:0)
根据您提供的信息很难回答。
在第一次初始化“ initialData”的数据加载中,您忘记了初始化“ Data”属性。