У меня есть таблица ProjectInformation, как (левая таблица)LINQ влево присоединиться только строки, имеющей максимальное значение столбца
ProjectID int
{fields}
другой таблицы, ProjectUpdates (правая таблица). Эта таблица содержит несколько записей для 1 ProjectID, добавленных ежемесячно.
ProjectID int
CreateDate date
{other fields that have records}
Их отношение 1-М. Примеры данных
ProjectInformation
{ ProjectID = 1, DataA = "ABC"}
{ ProjectID = 2, DataA = "DEF"}
{ ProjectID = 3, DataA = "GHI"}
ProjectUpdates
{ProjectID = 1, CreateDate = "24/2/2014", DataB = "JKL"}
{ProjectID = 1, CreateDate = "25/1/2014", DataB = "MNL"}
{ProjectID = 1, CreateDate = "23/12/2014", DataB = "PQR"}
{ProjectID = 1, CreateDate = "23/11/2014", DataB = "STU"}
{ProjectID = 2, CreateDate = "24/2/2014", DataB = "VWX"}
{ProjectID = 2, CreateDate = "24/1/2014", DataB = "YZA"}
{ProjectID = 3, CreateDate = "21/12/2014", DataB = "BCD"}
{ProjectID = 3, CreateDate = "24/11/2014", DataB = "EFG"}
{ProjectID = 3, CreateDate = "24/10/2014", DataB = "HIJ"}
{ProjectID = 3, CreateDate = "24/8/2014", DataB = "KLM"}
{ProjectID = 3, CreateDate = "24/6/2014", DataB = "NOP"}
Я хочу, чтобы мой запрос LINQ, чтобы вернуть следующие данные (1 строка для каждого проекта)
Критерии: Строка в таблице слева будет присоединиться к одному в праве, которая имеет самый большой значение CreateDate для проекта.
{ProjectID = 1, CreateDate = "24/2/2014", DataA ="ABC", DataB = "JKL"}
{ProjectID = 2, CreateDate = "24/2/2014", DataA ="DEF", DataB = "VWX"}
{ProjectID = 3, CreateDate = "21/12/2014", DataA ="GHI", DataB = "BCD"}
Возможно, вам захотелось показать идентификаторы различных проектов в результирующем наборе данных. Кстати, вы что-то пробовали? –
FYI: В вашем примере вывода все имеет тот же 'ProjectID'' 1'. Это должно быть '1 2 & 3'. – Jamiec
@Jamiec благодарит за это. Изменено –