9
我有以下兩種模式實體框架代碼優先一對一的關係
public class Account
{
public int Id { get; set; }
public string Name { get; set; }
public int CurrentPeriodId { get; set; }
[ForeignKey("CurrentPeriodId")]
public virtual Period CurrentPeriod { get; set; }
public virtual ICollection<Period> Periods { get; set; }
}
public class Period
{
public int Id { get; set; }
public int AccountId { get; set; }
public DateTime StartDate { get; set; }
public DateTime EndDate { get; set; }
public virtual Account Account { get; set; }
}
,我試圖運行下面的查詢:
from p in context.Periods
where p.AccountId == accountId &&
p.Id == p.Account.CurrentPeriodId
select p.StartDate
我也得到一個SQL異常說「無效列名稱Account_AccountId「。
我知道我可以從賬戶側接近這一點,這樣做
from a in context.Accounts
where a.Id == id
select a.CurrentPeriod.StartDate
但我想知道的關係,如何設置,以獲得其他查詢工作。我錯過了什麼?
有了這個解決方案,我已經失去了我的參考,雖然從週期帳戶。 –
@尼克奧爾森:更新了我的答案。 – Kamyar