Я работаю с C#
, .NET4.5
, EF6
(не имеет значения, действительно).По умолчаниюIfEmpty return null
Я выбрать несколько значений из БД затем .ToList()
их, а затем добавить DefaultIfEmpty(new ActualFee{Net = 0, Vat = 0})
, если один не существует, и я получаю null
public static ConveyancingSummaryVm ToConveyancingSummaryVm(this Tuple<IEnumerable<ActualFee>, ConveyancingAnswer, Customer> conveyancePricingAnswersAndCustomer)
{
var purchaseFees = conveyancePricingAnswersAndCustomer.Item1.Where(o => o.ConveyancingSaleType == "Purchase").ToList();
if (purchaseFees.Any())
{
var discount = purchaseFees.DefaultIfEmpty(new ActualFee{Net = 0, Vat = 0}).SingleOrDefault(o => o.Title.Contains("Discount"));
conveyancingSummaryVm.IsPurchaseFreehold = conveyancePricingAnswersAndCustomer.Item2.PropertyBoughtIsFreehold;
...
Я должен отсутствовать что-то очевидное здесь.
скорее всего SingleOrDefault возвращает null. –
См. Выше комментарий - но также, зачем использовать DefaultIfEmpty в сочетании с Any() - по-видимому, он не может быть пустым, если у вас есть «Some». – SpaceBison
@ Selman22, так что вы говорите, что 'DefaultIfEmpty' не работает для' SingleOrDefault'? –