我有两个型号,在一比一的关系配置:与实体 - 一一对应的关系
public class PointOfInterestModel
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
public string Description { get; set; }
[Required]
public CoordinatesModel Coordinates { get; set; }
}
public class CoordinatesModel
{
[Key]
[ForeignKey("PointOfInterest")]
public int Id { get; set; }
[Required]
public float Longitude { get; set; }
[Required]
public float Latitude { get; set; }
public PointOfInterestModel PointOfInterest { get; set; }
}
因此,他们应该在一比一的关系存在。 PointOfInterestModel应该只有一个CoordinatesModel,而CoordinatesModel应该只有一个PointOfInterestModel。
现在,我想从我的数据库中查询我所有的兴趣点,并获取与他们的所有坐标。
以下是我认为应该工作,但不会:
pointsOfInterestList = db.PointOfInterestModels.Include(x=>x.Coordinates).ToList();
那么,什么是错的?它是在关系中,还是在LINQ查询中?
我一直在试图解决这个问题好几个小时。
“应该工作,但不是” - 发生了什么?例外,错误的数据,没有? – Dmitry
哦,是的,我得到这个异常:System.Reflection.TargetInvocationException。如果我删除linq查询的包含部分,我没有得到这个异常,但是当然,pointOfInterestModel.coordinates是null。 –
有没有什么有趣的“内部”这个异常(有你的表/列的名称)?你正在使用什么EF版本? – Dmitry