Как восстановить отдельные строки на основе столбца при объединении в entity framework?
Я хочу объединить 2 таблицы и получить отдельные строки на основе 1 столбца в entity framework.
Я читал сообщения в интернете, в том числе и так.
В приведенном ниже коде,
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 колонка. Пожалуйста, обратите внимание, что другие столбцы отличаются в этих 2 записях.
Что я уже пробовал:
Я читал сообщения в интернете. Ни одно из решений мне не помогло.
Christian Graus
Попробуйте использовать group by? Затем вы можете использовать max, если все значения одинаковы (или min)