Вопрос

Я пытаюсь создать некоторую функциональность CRUD для устаревшей базы данных и использую Entity Framework в качестве инструмента ORM.В одной таблице, 'Sites', есть столбец типа Guid 'Id', который пользователи никогда не видят, и целочисленный тип 'SiteID', который пользователи используют для идентификации Сайта.

Одному богу известно, по какой причине числовой столбец SiteID в базе данных имеет тип varchar(10), но каждый SiteID в нем является целым числом, и все будущие SiteID также будут целыми числами.

С целью создания нового, уникального SiteID целочисленного типа, как я могу сделать то, что фактически является 'SELECT MAX (SiteID)', используя Entity SQL или Linq для Enities??

Другими словами, как я могу преобразовать каждое значение в столбце из varchar(10) в int и выбрать максимальное значение из этого набора??

Это выглядело многообещающе, но linq не может преобразовать синтаксический анализ в "процедуру хранения"...

int x = entities.Sites.Max(s => int.Parse(s.SiteId));
Это было полезно?

Другие советы

Это работает...

String[] numbers = new String[] { "2", "34", "5", "23", "5", "1" };

var max = numbers.Max(x => Int32.Parse(x));
Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top