Я хочу объединить 2 таблицы и извлечь отдельные строки на основе 2 столбцов в структуре сущностей.
Я читал сообщения в Интернете, включая SO.
В приведенном ниже коде,
1. Я присоединяюсь к 2 таблицам на основе CurrentTurnID
ключ
2. Я фильтрую таблицу по функциям, которые мне нужны
3. Я фильтрую таблицу, устанавливая условия для выбранных функций
4. Я выбираю столбец, чтобы вычислить сумму всех его значений
Мне нужно получить записи, которые имеют один и тот же CurrentTurnID
только один раз. Вот мой код:
int services = Convert.ToInt32(database.Tbl_CurrentTurn.AsNoTracking()
.Join(database.Tbl_pay.AsNoTracking(), f => f.CurrentTurnID,
s => s.CurrentTurnID, (f, s) => new
{
f.CurrentTurnOfficialID,
f.CurrentTurnID,
f.SickID,
f.Remove,
f.Payment,
f.ServicePayment,
s.isDeposit
})
.Where(w => w.SickID == SickId && w.Remove != true && w.Payment == true && w.isDeposit != true)
.Select(s => s.ServicePayment).DefaultIfEmpty(0).Sum());
Если я добавлю Distinct()
после оператора Select()
, он будет рассматривать ServicePayment
для фильтрации отдельных строк.
Обновление: Изображение прикреплено к моей Dropbox.
2-я и 3-я записи имеют одинаковое значение CurrentTurnID
. Поэтому я хочу рассмотреть только один из них. Затем суммируйте записи в столбце ServicePayment
. Обратите внимание, что в этих двух записях другие столбцы отличаются.