[C#] Entity Framework는 고유 이름을 선택합니다

SQL쿼리를 어떻게 수행 할 수 Entity Framework있습니까?

SELECT DISTINCT NAME FROM TestAddresses



답변

람다 식 사용하기

 var result = EFContext.TestAddresses.Select(m => m.Name).Distinct();


답변

이 시도:

var results = (from ta in context.TestAddresses
               select ta.Name).Distinct();

이것은 당신에게 줄 것이다 IEnumerable<string>-당신은 .ToList()그것을 얻기 위해 전화 할 수있다 List<string>.


답변

@alliswell이 보여주는 방식 은 완전히 유효하며 다른 방법이 있습니다! 🙂

var result = EFContext.TestAddresses
    .GroupBy(ta => ta.Name)
    .Select(ta => ta.Key);

누군가에게 도움이되기를 바랍니다.


답변

DBContext.TestAddresses.Select(m => m.NAME).Distinct();

여러 열이있는 경우 다음과 같이하십시오.

DBContext.TestAddresses.Select(m => new {m.NAME, m.ID}).Distinct();

이 예에서는 중복 된 CategoryId 및 CategoryName이 없습니다. 이것이 도움이 되었기를 바랍니다.


답변

엔티티 프레임 워크 고유 이름을 선택하십시오.

여러 테이블을 사용하는 뷰를 사용하고 있고이 경우 고유하게 적용하려는 경우 먼저 변수에 값을 저장해야하며 다음과 같이 해당 변수에 고유성을 적용 할 수 있다고 가정하십시오.

public List<Item_Img_Sal_VIEW> GetItemDescription(int ItemNo)
        {
            var Result= db.Item_Img_Sal_VIEW.Where(p => p.ItemID == ItemNo).ToList();
            return Result.Distinct().ToList();
        }

아니면이 간단한 예를 시도 할 수 있습니다

Public Function GetUniqueLocation() As List(Of Integer)
          Return db.LoginUsers.Select(Function(p) p.LocID).Distinct().ToList()
End Function


답변

예를 들어 Select (). Distinct () 를 사용하십시오.

DBContext db = new DBContext();
var data= db.User_Food_UserIntakeFood .Select( ).Distinct();


답변

ORDER BY items must appear in the select list if SELECT DISTINCT오류 를 피하기 위해 최선의 방법은

var results = (
    from ta in DBContext.TestAddresses
    select ta.Name
)
.Distinct()
.OrderBy( x => 1);