I have this table created like so:
USE [OrderMore]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[OrderPromo](
[OrderId] [int] NOT NULL,
[PromoId] [int] NOT NULL,
[Created] [datetime] NOT NULL,
CONSTRAINT [PK_dbo.OrderPromo] PRIMARY KEY CLUSTERED
(
[OrderId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[OrderPromo] WITH CHECK ADD CONSTRAINT [FK_dbo.OrderPromo_dbo.Order_OrderId] FOREIGN KEY([OrderId])
REFERENCES [dbo].[Order] ([OrderID])
GO
ALTER TABLE [dbo].[OrderPromo] CHECK CONSTRAINT [FK_dbo.OrderPromo_dbo.Order_OrderId]
The interesting entities look like this:
[Table("OrderPromo")]
public class OrderPromo : EntityBase
{
/// <summary>
///
/// </summary>
[Key, ForeignKey("Order")]
[DatabaseGenerated(DatabaseGeneratedOption.None)]
public int OrderId { get; set; }
/// <summary>
///
/// </summary>
public int PromoId { get; set; }
/// <summary>
///
/// </summary>
public virtual Order Order { get; set; }
}
and:
[Table("Order")]
public partial class Order : EntityBase
{
/// <summary>
///
/// </summary>
[Key]
public int OrderID { get; set; }
/// <summary>
///
/// </summary>
public virtual Transaction Transaction { get; set; }
/// <summary>
/// If there is an Promo used on this Order, it will be recorded in the OrderPromo table.
/// </summary>
public virtual OrderPromo OrderPromo { get; set; }
}
The issue comes when I attempt to insert the data into the database. I receive the Cannot insert explicit value for identity column in table 'OrderPromo' when IDENTITY_INSERT is set to OFF.
However, there is no Identity column in the OrderPromo table. I have even tried to set IDENTITY_INSERT to ON just to be 100% sure, and SQL gives the error indicating there is no Identity column on the table.
Thank you.
EDIT--
Table definition for Order:
USE [OrderMore]
GO
/****** Object: Table [dbo].[Order] Script Date: 01/05/2017 10:57:19 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[Order](
[OrderID] [int] IDENTITY(1,1) NOT NULL,
[OrderFormID] [int] NOT NULL,
[Notes] [nvarchar](250) NULL,
[Created] [datetime] NOT NULL,
[TransactionID] [int] NOT NULL,
[OrderSequenceContext] [int] NOT NULL DEFAULT ((0)),
CONSTRAINT [PK_dbo.Order] PRIMARY KEY CLUSTERED
(
[OrderID] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
GO
ALTER TABLE [dbo].[Order] WITH CHECK ADD CONSTRAINT [FK_dbo.Order_dbo.Transaction_TransactionID] FOREIGN KEY([TransactionID])
REFERENCES [dbo].[Transaction] ([TransactionID])
GO
ALTER TABLE [dbo].[Order] CHECK CONSTRAINT [FK_dbo.Order_dbo.Transaction_TransactionID]