【发布时间】:2013-04-01 18:53:18
【问题描述】:
我在预订和联系人之间存在多对多关系,当我尝试将新联系人添加到预订时出现以下错误。
_db.Reservations.Add(reservation);
reservation.Contacts.Add(user.Contact);
_db.SaveChanges();
我认为我的表定义存在一些问题,所以我复制了我的表的粘贴创建脚本。 我在reservaion_contact 表中同时设置了reservaionId 和contactId 主键。这是错的吗? 我的表结构:
CREATE TABLE [dbo].[Reservation_Contacts](
[Reservation_Id] [int] NOT NULL,
[Contact_Id] [int] IDENTITY(1,1) NOT NULL,
CONSTRAINT [PK_Reservation_Contacts] PRIMARY KEY CLUSTERED
(
[Reservation_Id] ASC,
[Contact_Id] 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].[Reservation_Contacts] WITH CHECK ADD CONSTRAINT [FK_Reservation_Contacts_Contact] FOREIGN KEY([Contact_Id])
REFERENCES [dbo].[Contact] ([Id])
GO
ALTER TABLE [dbo].[Reservation_Contacts] CHECK CONSTRAINT [FK_Reservation_Contacts_Contact]
GO
ALTER TABLE [dbo].[Reservation_Contacts] WITH CHECK ADD CONSTRAINT [FK_Reservation_Contacts_Reservation] FOREIGN KEY([Reservation_Id])
REFERENCES [dbo].[Reservation] ([Id])
GO
ALTER TABLE [dbo].[Reservation_Contacts] CHECK CONSTRAINT [FK_Reservation_Contacts_Reservation]
GO
【问题讨论】:
-
你能显示你正在使用的插入语句吗?该错误几乎可以自行解释..您正在做的是尝试在身份字段或对其有一些限制的字段中发送一个值,这意味着您@ 987654323@快速浏览的错误正在@ 987654324中发生@字段
-
请发布示例插入查询帽子失败。
-
您是否也可以访问
DBA,您在哪里?我会向您的 DBA 或首席开发人员灌输帮助,听起来您已经为此旋转了好几次......跨度> -
您正在填写例如
ContactID虽然它是一个“身份” - 或其他一些表。您需要放置完整模型等。 -
@Dhawalk INSERT INTO [Hotel].[dbo].[Reservation_Contacts] ([Reservation_Id],[Contact_Id]) 值 (9,11)
标签: c# sql-server entity-framework linq-to-sql