【发布时间】:2014-10-17 20:37:16
【问题描述】:
在 Visual Studio 2013 update3 中,我在 SQL Server 2012 的 PERSON 表中将主键从 SAM_ID 更改为 ID 后,基于 Entity Framework 5.0 的数据模型没有拾取 pk-fk 关系。
所有约束都重新创建,没有任何问题。 SQL Server 中的图表显示了正确的关系。
我已尝试在 Visual Studio 中清理解决方案并重新创建 ADO.NET 实体数据模型,但持有主键的表和持有外键的表之间仍然没有关系。
主键表 PERSON:
CREATE TABLE [dbo].[PERSON](
[ID] [int] IDENTITY(100001,1) NOT NULL,
[SAM_ID] [varchar](128) NOT NULL,
[NAME] [varchar](256) NOT NULL,
[MANAGER_SAMID] [varchar](128) NULL,
[IMAGE_ID] [int] NULL,
[MANAGER_ID] [int] NULL,
CONSTRAINT [PK_PERSON_1] PRIMARY KEY CLUSTERED
(
[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
外键表INFO:
CREATE TABLE [dbo].[INFO](
[ID] [int] IDENTITY(1,1) NOT NULL,
[PID] [int] NOT NULL,
[PERSON_ID] [varchar](128) NOT NULL,
[TITLE] [varchar](512) NOT NULL,
[DESCRIPTION] [varchar](max) NULL,
CONSTRAINT [PK_INFO] PRIMARY KEY CLUSTERED
(
[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] TEXTIMAGE_ON [PRIMARY]
GO
ALTER TABLE [dbo].[INFO] WITH CHECK ADD CONSTRAINT [FK_INFO_PERSON] FOREIGN KEY([PID])
REFERENCES [dbo].[PERSON] ([ID])
GO
ALTER TABLE [dbo].[INFO] CHECK CONSTRAINT [FK_INFO_PERSON]
GO
我可以尝试什么?
【问题讨论】:
标签: sql-server entity-framework tsql visual-studio-2013