Содержит с Linq - PullRequest
       3

Содержит с Linq

3 голосов
/ 27 июня 2011

У меня есть класс "Оценка", у этого класса есть свойство "EsvaluationItems" (тип IList)

public class EstimationItem 
{
    public virtual int Id { get; set; }
    public virtual Product Product { get; set; }
    public virtual int Quantity { get; set; }
    public virtual decimal Price { get; set; }
}

public class Product 
{
    public virtual int Id { get; set; }
    public virtual string Code { get; set; }
    public virtual string Name { get; set; }
}

Когда у меня есть экземпляр «Оценки», я хотел бы знать, содержат ли «Оценочные элементы» продукт с кодом «MyCode».

Ответы [ 4 ]

6 голосов
/ 27 июня 2011

Вы можете использовать Любой () :

bool hasMyCode = yourEstimation.EstimationItems.Any(
    item => item.Product.Code == "MyCode");
6 голосов
/ 27 июня 2011

Используя это:

List<EstimationItem> items = new List<EstimationItem>();
// Add items

int searchedCode = 1

if(items.Any(i => i.Product.Code == searchedCode))
{
    // Contained
}
1 голос
/ 27 июня 2011

Enumerable.Any Метод определяет, удовлетворяет ли какой-либо элемент последовательности условию.

Boolean result = estimationItems.Any(x => x.Product.Code == "MyCode");
0 голосов
/ 27 июня 2011
var query = from ei in EstimationItems where ei.Product.Code == "MyCode" select ei;
...