Я написал этот запрос linq в этом методе, чтобы я мог отфильтровать любые корабли моего флота, у которых нет связанного модуля (хранилище, поддержка жизни, медицинский отсек и т. Д.).с помощью linq для отфильтровывания нежелательных объектов
Это возвращает истину, если предоставленный флот имеет какое-либо судно с связанными модулями
public bool FleetWithShipsWithLinkedModules(Fleet fleet)
{
var linkedModules = fleet.Ships.Any(
s => s != null &&
s.Parts != null &&
s.Parts.LinkedModules != null);
return linkedModules;
}
использование:
if (FleetWithShipsWithLinkedModules(fleet))
{
...do stuff
}
В базе данных, части связаны с судами, не флота. Это идет Флот> Корабли> Части
Это работает около 50% времени, и я не могу понять, почему. Я не уверен, что я это linq или что-то еще.
Я надеялся, что кто-то может взглянуть на запрос linq и сообщить мне, выглядит ли он конструктивно и синтаксически.
Спасибо!
Вы понимаете, что вы на самом деле не отфильтровывая кораблей здесь? Вы просто проверяете, имеют ли * любые * корабли в вашем парке части со связанными модулями. – Blorgbeard
Что такое тип данных связанных модулей? Это коллекция или отдельный объект? – Gurpreet