У меня есть следующие классы:
public class Blog {
public int Id {get; set;}
public String Name {get; set;}
...
...
public int CatId {get;set;}
}
public class BlogCategory{
public int Id {get; set;}
public String Name {get; set;}
public virtual Blogs {get; set;}
}
Теперь у меня есть модель просмотра на моей странице бритвы:
public BlogViewModel{
public int Id {get; set;}
public string Name {get; set;}
..
..
public string CategoryName {get; set;}
}
Я пытаюсь выбрать блог и содержать его категориюname: my Query:
Blogs = await _context.Blogs
.Select(b => new BlogViewModel()
{
Id = b.Id,
Name = b.Name,
//CategoryName =
})
.ToListAsync();
как я могу выбрать имя категории из таблицы BlogCategory на основе имеющегося у меня CatId?
Одним из способов является добавление
public virtual Category BlogCat {get; set;}
к классу блога, а затем использование «Включить», но я не хочу использовать этот метод, так как хочу, чтобы имя категории не было полным объектом.
любая помощь, пожалуйста?
Решение:
Blogs = await _context.Blogs
.Select(b => new BlogViewModel()
{
Id = b.Id,
Name = b.Name,
CategoryName = _context.BlogCategory
.Where(c => c.Id == b.CatId)
.Select(c => c.Name)
.SingleOrDefault()
})
.ToListAsync();