У меня есть класс, который содержит категории.Добавить список элементов, используя linq
public class CategoryDto
{
public int Id { get; set; }
public int PortfolioId { get; set; }
public string Description { get; set; }
public List<SubCategoryDto> SubCategories { get; set; }
public CategoryDto()
{
SubCategories = new List<SubCategoryDto>();
}
}
Он имеет список в нем, который представляет собой список классов подкатегории:
public class SubCategoryDto
{
public int Id { get; set; }
public int CategoryId { get; set; }
public CategoryDto Category { get; set; }
public string Description { get; set; }
}
я затем заполнить этот пункт, но я получаю список баз на «PortfolioId».
var cats = (from p in Context.transaction_category
where p.account_portfolio_id == portfolioId
&& p.deleted == null
select new CategoryDto
{
Id = p.id,
Description = p.description,
PortfolioId = p.account_portfolio_id
}).ToList();
Таблица категорий имеет внешний ключ для подкатегорий. Каждая категория имеет 0: n подкатегорий. Таким образом, модель структуры сущности имеет коллекцию Context.transaction_category.transaction_sub_categories
.
Итак, теперь я делаю это, просматривая категории в приведенном выше списке и заполняю подкатегории.
Есть ли способ сделать это в том же заявлении о ссылках? Объект Category имеет список List. Можно ли это сделать в приведенном выше выражении Linq?
Edit: Это исправление попытка, как это было рекомендовано, но представляет ошибку:
var cats = (from p in Context.transaction_category
where p.account_portfolio_id == portfolioId
&& p.deleted == null
select new CategoryDto
{
Id = p.id,
Description = p.description,
PortfolioId = p.account_portfolio_id,
SubCategories = (from s in Context.transaction_sub_category where s.transaction_category_id == p.id
&& s.deleted == null
select new SubCategoryDto
{
Id = s.id,
Description = s.description,
CategoryId = s.transaction_category_id
}).ToList()
}).ToList();
LINQ to Entities does not recognize the method 'System.Collections.Generic.List
1[Objects.SubCategoryDto] ToList[SubCategoryDto](System.Collections.Generic.IEnumerable
1[Objects.SubCategoryDto])' method, and this method cannot be translated into a store expression.
, где есть ваши подкатегории? и можете ли вы поделиться своим классом подкатегорий? –
Добавлен класс SubCategory для публикации. – Craig