Я использовал FirstOrDefault за тонну в своем коде (это привычка, я много раз использовал linq2 sql) и использую его в Acumatica. Для поддержки разработки его следует использовать, только если вы ожидаете одного результата.
У меня есть некоторый код в SOOrderEntry, который получает элемент в текущей строке, нажав кнопку и проверив несколько вещей. Это в моем расширении графика.
Этот код работал до обновления:
SOLine Line = Base.Transactions.Current;
InventoryItem Item = SelectFrom<InventoryItem>.Where<InventoryItem.inventoryID.IsEqual<@P.AsInt>>.View.Select(Base, Line.InventoryID).FirstOrDefault();
InventoryItemExt ItemExt = Item.GetExtension<InventoryItemExt>();
Результат не такой, как ожидалось. Line.InventoryID возвращает 10045, что является правильным элементом. Item.InventoryID составляет 10046