Development Tip

Linq to Entity에서 최대 ID를 얻으려면 어떻게해야합니까?

yourdevel 2020. 10. 17. 12:30
반응형

Linq to Entity에서 최대 ID를 얻으려면 어떻게해야합니까?


ID 열이있는 테이블 User가 있습니다. UserID이제 최대 값을 반환하는 코드 줄에 대한 올바른 Linq는 무엇 UserID입니까?

난 노력 했어:

using (MyDBEntities db = new MyDBEntities())
{
    var User = db.Users.Last();
    // or
    var User = db.Users.Max();

    return user.UserID;
}

그러나 LastMax지원하지 않는 것.

어떤 아이디어?


이렇게하세요

db.Users.OrderByDescending(u => u.UserId).FirstOrDefault();

이 시도

int intIdt = db.Users.Max(u => u.UserId);

최신 정보:

레코드가 없으면 위 코드를 사용하여 예외를 생성하십시오.

int? intIdt = db.Users.Max(u => (int?)u.UserId);

NisaPrieto

Users user = bd.Users.Where(u=> u.UserAge > 21).Max(u => u.UserID); 

MAX는 필드와 동일한 유형의 변수를 반환하므로이 경우에는 사용자 개체가 아닌 INT이므로 작동하지 않습니다.


var max = db.Users.DefaultIfEmpty().Max(r => r == null ? 0 : r.ModelID);

db에 레코드가 없으면 예외없이 0을 반환합니다.


asyncawait기능을 사용하는 경우 다음과 같습니다.

User currentUser = await db.Users.OrderByDescending(u => u.UserId).FirstOrDefaultAsync();

추가 한 엔티티의 ID를 얻는 가장 좋은 방법은 다음과 같습니다.

public int InsertEntity(Entity factor)
{
    Db.Entities.Add(factor);
    Db.SaveChanges();
    var id = factor.id;
    return id;
}

참고 URL : https://stackoverflow.com/questions/315946/how-do-i-get-the-max-id-with-linq-to-entity

반응형