我正在開發.NET 4項目。最近一個列被添加到表「T」,之後,其他表與表T的所有關聯都丟失了(任何具有來自表T的外鍵的表現在都沒有)。我應該提到我們使用sqlmetal命令來更新與DBML相關的類文件。而且這個問題突然發生了,儘管DB經常更新並且之前沒有這樣的問題。在DBML designer.cs期間表關聯丟失更新
如果問題與SQL Server或LINQ有關,我沒有任何線索。任何人都可以幫助我嗎?
表T:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[T](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Cid] [int] NULL,
[Guid] [uniqueidentifier] NOT NULL
CONSTRAINT [PK_T] 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
SET ANSI_PADDING OFF
GO
ALTER TABLE [dbo].[T] WITH CHECK ADD CONSTRAINT [FK_T_C] FOREIGN KEY([Cid])
REFERENCES [dbo].[C] ([Id])
GO
ALTER TABLE [dbo].[T] CHECK CONSTRAINT [FK_T_C]
GO
ALTER TABLE [dbo].[T] ADD CONSTRAINT [DF_T_Guid] DEFAULT (newid()) FOR [Guid]
GO
表我具有從表T外鍵:
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
CREATE TABLE [dbo].[I](
[Id] [int] IDENTITY(1,1) NOT NULL,
[Name] [nvarchar](512) NOT NULL,
[TId] [int] NOT NULL,
[Desc] [nvarchar](2000) NULL,
[Guid] [uniqueidentifier] NOT NULL
CONSTRAINT [PK_I] 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
ALTER TABLE [dbo].[I] WITH CHECK ADD CONSTRAINT [FK_I_T] FOREIGN KEY([TId])
REFERENCES [dbo].[T] ([Id])
GO
ALTER TABLE [dbo].[I] CHECK CONSTRAINT [FK_I_T]
GO
ALTER TABLE [dbo].[I] ADD CONSTRAINT [DF_I_Guid] DEFAULT (newid()) FOR [Guid]
GO
外鍵約束仍然存在於數據庫中嗎? – Pleun
是的,所有的關係都存在於數據庫中 – Marjan