我有兩個型號,在一比一的關係配置:與實體 - 一一對應的關係
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