Трудно сказать точно, как использовать LINQ в вашей ситуации, так как отношения между классами не очень ясны, поэтому я дам вам ответ, используя только объект Product.Я могу обновить свой ответ, если вы дадите мне больше информации.
var listOfSomethingDto = listOfProducts //list of products should come from a repository or something similar
.Where(product => product.Name == "Car") //WHERE: get products with name equal to what you want
.Select(product => new SomethingDto //SELECT: for every product found with the .Where clause
{ // transform it in a new SomethingDto where the Product is the name of the product found
Product = productName
}
).ToList();
Чтобы отфильтровать Supplier
и Category
, вам необходимо включить их (аналогично Product
) в запрос LINQ.уважая отношения между классами.
В этом примере SomethingDto
(переименуйте его в соответствии с вашим сценарием) можно определить как:
public class SomethingDto
{
public string Product { get; set; }
}
Или, в вашем случае, со всемиАтрибуты:
public class SomethingDto
{
public string Product { get; set; }
public string Supplier { get; set; }
public string Category { get; set; }
}
Как видите, DTO - это новый тип объекта, используемый для передачи данных из одной точки в другую без фактического использования базовых классов.