2011-12-18 80 views

Trả lời

5

Hãy thử context.Dim_Games.Max(g => g.Game_id);

+0

Tôi nhận được: ''Project.Models.Dim_Game' không chứa định nghĩa cho 'Max'' –

+0

Tên của thùng chứa thực thể EF tương ứng với bảng' Dim_Game' trong cơ sở dữ liệu là gì? – dasblinkenlight

+0

Rất tiếc, những gì tôi đang nghĩ sao? .. – dasblinkenlight

0

bạn cũng có thể sử dụng một thủ tục lưu trữ như thế:

select ident_current('table_name') 
0

bạn có thể sử dụng đoạn mã sau, nếu tăng sắc là trên

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

1

Nếu cột của bạn là không nullable và kết quả của bạn truy vấn là trống rỗng, bạn sẽ nhận được lỗi

"Các diễn viên để kiểu giá trị 'System.Int32' thất bại vì sự cụ thể hóa giá trị là null. Hoặc tham số chung loại quả hoặc truy vấn phải sử dụng một loại nullable."

Để tránh lỗi này bạn nên đúc cột nullable và kết quả hợp nhất với 0.

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

Xem thêm chi tiết tại The cast to value type 'Int32' failed because the materialized value is null

Các vấn đề liên quan