未将ASP.NET Core Object Reference设置为用于外键搜索的实例

时间:2018-12-06 02:50:24

标签: asp.net-core entity-framework-core

我有这些查询。第一个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

1 个答案:

答案 0 :(得分:0)

根据您提供的信息很难回答。

在第一次初始化“ initialData”的数据加载中,您忘记了初始化“ Data”属性。