我正在制作一个调查应用程序,它具有3个领域模型:
ActivityItem
对于我要询问的每个活动。
ItemResponse
将ActivityItem
和Checklist
绑在一起
Checklist
以容纳所有ItemResponses
我想在视图中获取Checklist
。ItemResponse
。ActivityItem
。Name
,但是尽管数据库具有ActivityItemId,但ActivityItem
始终为空正确填充。我只是不明白为什么该应用无法Include()
该表。
以下是我的模特片段:
ActivityItem
public class ActivityItem
{
public int Id { get; set; }
public string Name { get; set; }
ItemResponse
public class ItemResponse
{
public int Id { get; set; }
public int ChecklistId { get; set; }
public virtual Checklist Checklist { get; set; }
public int ActivityItemId { get; set; }
public virtual ActivityItem ActivityItem { get; set; }
Checklist
public class Checklist
{
public int Id { get; set; }
public ICollection<ItemResponse> ItemResponses { get; set; }
我很感谢您为我指出正确的方向提供帮助的任何帮助。谢谢!
答案 0 :(得分:1)
这是因为您的导航属性名称为ActivityItem
,但是您正在呼叫ActivityItems
。因此完整查询应如下:
var checkList = await _context.Checklist.Include(c => c.ItemResponses)
.ThenInclude(ir => ir.ActivityItem).ToListAsync();