Как получить максимальное значение уникального идентификатора столбца с помощью LINQ - PullRequest
5 голосов
/ 18 декабря 2011

Как я могу написать это самым простым способом, используя LINQ?

SELECT        MAX(Game_id) AS MaxValue
FROM          Dim_Game

Ответы [ 4 ]

5 голосов
/ 18 декабря 2011

Попробуйте context.Dim_Games.Max(g => g.Game_id);

1 голос
/ 15 июля 2016

Если ваш столбец не обнуляем и результат вашего запроса пуст, вы получите ошибку

"Ошибка приведения к типу значения 'System.Int32', так как материализованное значение равно нулю.Либо универсальный параметр типа результата, либо запрос должен использовать тип, допускающий значение NULL. "

Чтобы избежать ошибки, необходимо преобразовать столбец в значение NULL, а результат объединить с 0.

int max=(surveys.Max(g =>( int?)g.SurveyID) ?? 0);

Подробнее см. В Ошибка приведения к типу значения 'Int32', поскольку материализованное значение равно нулю

0 голосов
/ 22 мая 2015

Вы можете использовать следующий код, если приращение идентификатора включено

Convert.ToInt32(_entities.Database.SqlQuery("SELECT IDENT_CURRENT('table') + IDENT_INCR('table')", new object[0]).FirstOrDefault())
0 голосов
/ 20 февраля 2013

Вы также можете использовать хранимую процедуру следующим образом:

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...