LINQ

2011-12-18 16 views
5

kullanarak benzersiz bir kimlik sütununun maksimum değeri nasıl alınır LINQ kullanarak bunu en basit şekilde nasıl yazabilirim?LINQ

SELECT  MAX(Game_id) AS MaxValue 
FROM   Dim_Game 

cevap

5

Ayrıca böyle bir saklı yordamı kullanabilirsiniz context.Dim_Games.Max(g => g.Game_id);

+0

alıyorum:? ' 'Project.Models.Dim_Game' veritabanındaki Dim_Game' masaya' tekabül EF varlık kabın adıdır ne Max'' –

+0

' tanımını içermiyor – dasblinkenlight

+0

Üzgünüz, neyi düşünüyordum mu? .. – dasblinkenlight

0

deneyin: Kimlik artışı

Convert.ToInt32(_entities.Database.SqlQuery("SELECT IDENT_CURRENT('table') + IDENT_INCR('table')", new object[0]).FirstOrDefault())
açıksa,

select ident_current('table_name') 
0

kodu aşağıdaki kullanabilirsiniz

materialized değeri null olduğu için
1

sizin sütunu boş sorgulamak değil null ve sonuç ise, hatayı

alacak "değer türüne dökme 'System.ınt32' başarısız oldu. Sonuç türünün genel parametre veya sorgu Ya bir null türü kullanılmalıdır."

Eğer sütun kullanması gereklidir hatayı önlemek için null ve sonuçlanması 0.

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

ile birleşerek daha fazla ayrıntı görün The cast to value type 'Int32' failed because the materialized value is null