私はSQLにテーブルを持っています
USE [testDB]
GO
/****** Object: Table [dbo].[MemberPanel] Script Date: 03/01/2013 19:21:01 ******/
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[MemberPanel](
[UserId] [uniqueidentifier] NOT NULL,
[PanelId] [int] NOT NULL,
[Status] [int] NOT NULL,
CONSTRAINT [PK_MemberPanel] PRIMARY KEY CLUSTERED
(
[UserId] ASC,
[PanelId] 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].[MemberPanel] WITH CHECK ADD CONSTRAINT [FK_MemberPanel_Member] FOREIGN KEY([UserId])
REFERENCES [dbo].[Member] ([UserId])
GO
ALTER TABLE [dbo].[MemberPanel] CHECK CONSTRAINT [FK_MemberPanel_Member]
GO
ALTER TABLE [dbo].[MemberPanel] WITH CHECK ADD CONSTRAINT [FK_PracticePanel_PracticePanel] FOREIGN KEY([PanelId])
REFERENCES [dbo].[Panel] ([PanelId])
GO
ALTER TABLE [dbo].[MemberPanel] CHECK CONSTRAINT [FK_PracticePanel_PracticePanel]
GO
私はエンティティ フレームワークを使用し、C# コードを次のように使用します。
public static bool AddMemberPanels(List<int> panelIDs, Guid userId, int status)
{
try
{
using (FairShareEntities fairShareEntities = new FairShareEntities())
{
foreach (var panelID in panelIDs)
{
var panel = new MemberPanel() { UserId = userId, PanelId = panelID, Status = status };
fairShareEntities.AddToMemberPanel(panel);
fairShareEntities.SaveChanges();
}
return true;
}
}
catch (Exception)
{
return false;
}
}
保存時にエラーで変更されます
{"Entities in 'TestEntities.MemberPanel' participate in the 'FK_MemberPanel_Member' relationship. 0 related 'Member' were found. 1 'Member' is expected."}
ここで私を助けてください。新しいレコードを追加できない理由がわかりません。すべての値、つまり UserID と PanelId も確認しました。はい、それらは PK としてテーブルに存在します。
前もって感謝します