다음은 내 DTO입니다.Linq select()를 사용하여 엔티티의 속성을 필터링하는 방법은 무엇입니까?
public class Product
{
public int PId { get; set; }
public decimal Price { get; set; }
public string Name { get; set; }
public bool IsActive { get; set; }
//& so on
}
제품 목록을 얻는 방법. 이 방법은 & 다른 호출이 다른 속성을 필요로 여러 위치에서 호출되기 때문에
public void GetProducts()
{
// below dal method returns collection of products.
// I am in need to select only few properties of the Product Entitiy
var product = dalLayer.GetProductsList().Select(x => x.PId, y => y.Name)
}
나는 DAL 층의 속성을 필터링 할 수 없습니다.
나는 아래의 것들을 시도했다.
var products = dalLayer.GetProductsList().Select(
(x, y) => new
{
x.Id,
y.Name
});
그러나이 또한 컴파일 던지는 시간 오류 나는 select()
를 사용하여 제품의 개체에서 속성을 필터링하려면 어떻게 그렇게
?
감사합니다.
당신은 필터링 할 사용하여 C#을, 당신은 왜'Where' 사용하지 않는? 또한 dalLayer.GetProductsList()를 사용하지 않는 이유는 분명하지 않습니다. Select (p => new {p.Id, p.Name})'. 두 속성은 같은 클래스에 있습니다. –
그냥 할 때 참고 사항 당신이 투영을하고있는 선택은 가시적 인 것으로 생각하고, 필터링 할 곳을 사용할 때. – SCFi
'Where' 메쏘드에서 사용할 수있는'predicate' /'func' 형식으로 필터링 기준을 전달해야합니다 –