Background
I'm using Entity Framework's Fluent API to map entities to a database.
Entities
public class Ticket
{
public int Id { get; set; }
public virtual SalesOrder SalesOrder { get; set; }
public int SalesOrderId { get; set; }
public virtual ICollection<TicketLine> Lines { get; set; }
}
public class SalesOrder
{
public int Id { get; set; }
public virtual ICollection<Ticket> Tickets { get; set; }
}
public class TicketLine
{
public int Id { get; set; }
public Ticket Ticket { get; set; }
public int TicketId { get; set; }
}
Mapping
public class TicketMap : EntityTypeConfiguration<Ticket>
{
public TicketMap() {}
}
public class SalesOrderMap : EntityTypeConfiguration<SalesOrder>
{
public SalesOrderMap()
{
HasMany(t => t.Tickets)
.WithRequired(t => t.SalesOrder)
.HasForeignKey(t => t.SalesOrderId);
}
}
public class TicketLineMap : EntityTypeConfiguration<TicketLine>
{
public TicketLineMap() {}
}
Problem
When I run a query related to Ticket, I receive the following EntityCommandExecutionException:
Invalid column name 'Ticket_Id'.
What I've Tried
- Making sure that all entities that reference
Tickethave their relationships defined - Making sure there aren't any duplicate navigation properties
- Checking other answers for this exception on this site