현재 데이터베이스 공급자로 npgsql을 사용하여 ASP.NET 코어 및 엔티티 프레임 워크 코어가있는 API를 개발 중입니다. 나는 두 개의 엔티티가 있고 그들은 일대일 관계가 있습니다. 문제는 "부모 컨트롤러"가 반환하는 JSON 결과에 하위 엔터티의 ID 만 포함하려는 것입니다. 나는 그러나 이것을 달성하는 방법에 대한 확실하지 않다엔티티 프레임 워크 코어의 관련 엔티티 ID 만 포함
public class Meal {
public int Id { get; set; }
public string Title { get; set; }
public string Description { get; set; }
public string UserId { get; set; }
public User User { get; set; }
public List<Picture> Pictures { get; set; }
public Meal() {
this.Pictures = new List<Pictures>();
}
}
public class Picture {
public int Id { get; set; }
public int MealId { get; set; }
public Meal Meal { get; set; }
public byte[] full { get; set; }
public byte[] small { get; set; }
}
:
이들은
내 엔티티입니다.public IActionResult Meals() {
var meal = this.context.Meals
.Include(m => m.Pictures.Select(p => p.Id))
.First();
return new JsonResult(meal);
}
이 그러나 InvalidOperationException이 예외 : 어제는 다음과 같이 제안 다른 SO 질문을 가로 질러왔다. 내 DbContext는 매우 기본이며, onModelConfiguring이 아닙니다.이 코드는 알고있는 한도 내에서 컨벤션을 따르고 있으며, 해당 유형의 DbSets가 두 개 있습니다. 외래 키도 데이터베이스에서 정확하며 다음과 같이 호출합니다.
var pictures = dbContext.Pictures.Where(p => p.MealId == mealId).ToList();
예상대로 작동합니다. 내가 관련 있다고 생각하는 코드 만 포함 시켰습니다. 더 많이 필요하다면 포함 시키겠다.하지만 이것은 완전히 나의 질문에 대한 제한된 이해라고 생각한다.
감사합니다.
완벽 해 보입니다. 나는 그것을 다시 바꿀 것이고 내일 이것을 시도 할 것이다. 고맙습니다! – larzz11
시원하고, 어떻게 작동하는지 알려주세요. 다른 사람의 답변으로 표시하도록 도와 준다면, 다른 사람의 시간을 낭비하지 않도록 덧글을 달아주세요. –