Linq to Entities / Entity SQLの型変換付き最大値

entity-framework linq max select type-conversion

質問

私はレガシーデータベースのためにいくつかのCRUD機能を作り、ORMツールとしてEntity Frameworkを使用しようとしています。 1つのテーブル 'Sites'には、ユーザーには表示されないGuid型の 'Id'列と、ユーザーがサイトを識別するために使用する整数型の 'SiteId'があります。

データベース内の数値SiteId列がvarchar(10)型である理由はよくわかっていますが、そこにあるすべてのSiteIdは整数であり、将来のすべてのSiteIdも整数になります。

新しくユニークで整数型のSiteIdを生成する目的で、Entity SQLまたはLinities to Enitiesを使用して効果的に 'SELECT MAX(SiteId)'を実行する方法を教えてください。

言い換えれば、どのように私は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));


Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ