문제

DataGridView의 DataSource로 사용될 내 엔티티의 특정 필드를 선택하려고하지만 작동 할 수 없었습니다. 그런 일이 가능합니까? 예를 들어, 여러 엔터티 참조가 포함 된 고객 엔티티가 있습니다. 고객 엔티티와 해당 엔터티 참조 내에서 필드를 가져 와서 DatagridView에 표시하고 싶습니다. 나는 이것을 달성하기 위해 LINQ 쿼리를 생각해 낼 수 없었으며, 단순히 전체 엔티티를 데이터 소스로 사용하더라도 엔터티 차지 내 필드는 표시되지 않습니다. 내가 뭘 잘못하고 있는지 아십니까? 도와 주셔서 감사합니다.

도움이 되었습니까?

해결책

from customer in context.customers
select new 
{
    Name = customer.Name,
    City = customer.Address.City
}

이는 사용자 정의 객체를 생성하고 두 번째 속성이 기본 엔티티에서 엔티티 필드를 참조하는 것을 볼 수 있습니다. 기본적으로 데이터를 새 개체로 변환하고 열거 가능한 열거 가능한 것을 그리드에 바인딩합니다.

이것이 약간 중얼 거리고 내 휴대 전화를 입력하면 죄송합니다.

다른 팁

경고 : 엔티티 프레임 워크 참조로 테스트되지 않았습니다.

객체 데이터 소스를 사용할 때는 객체 참조의 속성을 참조 할 수 있지만 먼저 객체를 캐스팅해야합니다.

<asp:Label ID="lblCity" runat="server" Text='<%# ((Customer)Container.DataItem).Address.City%>'></asp:Label>

이것이 엔티티 참조의 속성에 액세스하는 데 문제가 될 수 있습니까?

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top