tengo los dos modelos siguientesentidad Código Marco Primera relación uno a uno
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; }
}
y estoy tratando de ejecutar la siguiente consulta:
from p in context.Periods
where p.AccountId == accountId &&
p.Id == p.Account.CurrentPeriodId
select p.StartDate
y me da una excepción SQL diciendo "no válida nombre de columna Account_AccountId ".
Sé que podría acercarse a esto desde el lado de la cuenta y hacer algo como
from a in context.Accounts
where a.Id == id
select a.CurrentPeriod.StartDate
pero me gustaría saber cómo configurar la relación para obtener la otra consulta para trabajar. ¿Qué me estoy perdiendo?
Con esta solución He perdido mi referencia a la cuenta del Período sin embargo. –
@Nick Olsen: actualicé mi respuesta. – Kamyar