我正在使用Entity Framework的Fluent API将实体映射到数据库。
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; }
}
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() {}
}
运行与相关的查询时Ticket
,会收到以下消息EntityCommandExecutionException
:
无效的列名“ Ticket_Id”。
Ticket
均已定义其关系原来,问题是我忘了告诉Entity Framework如何将Ticket
s与TicketLine
s关联。
我通过配置关系解决了它:
HasMany(t => t.Lines)
.WithRequired(t => t.Ticket)
.HasForeignKey(t => t.TicketId);
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句