Ho queste domande. Il primo initialData ottiene un elenco di Id senza filtro e la seconda query filtra i risultati in base agli input dell'utente. FieldId e CategoryId sono chiavi esterne / primarie della propria tabella. Il problema è quando l'applicazione viene caricata per prima, i valori null vengono inviati e questo è accettabile. Tuttavia, quando raggiunge la seconda query, ottengo il riferimento all'oggetto non impostato su un errore di istanza.
Esiste un identificatore di testo nullo in .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();
Ho anche scoperto che quando inserisco "0" come valore, si attiva lo stesso errore, ma se inserisco qualcosa come "abc", va bene.
NOTA: utilizzo GUID per i miei ID
È molto difficile rispondere, ma sulla base delle informazioni che hai fornito.
Sembra che nel primo caricamento di dati in "initialData" si sia dimenticato di inizializzare la proprietà "Data".