Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

EntityCommandExecutionException: Invalid column name 'Entity_Id'

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

  1. Making sure that all entities that reference Ticket have their relationships defined
  2. Making sure there aren't any duplicate navigation properties
  3. Checking other answers for this exception on this site
like image 398
Sam Avatar asked Dec 03 '25 08:12

Sam


1 Answers

The problem turned out to be that I'd forgotten to tell Entity Framework how to associate Tickets with TicketLines.

I resolved it by configuring the relationship:

HasMany(t => t.Lines)
    .WithRequired(t => t.Ticket)
    .HasForeignKey(t => t.TicketId);
like image 189
Sam Avatar answered Dec 06 '25 01:12

Sam



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!