Я работаю над проектом .NET 4.Недавно в таблицу «T» был добавлен столбец, после чего все ассоциации других таблиц с таблицей T теряются (у любой таблицы, которая имела внешний ключ из таблицы T, теперь ее нет).Следует отметить, что мы используем команду sqlmetal для обновления файла класса, связанного с DBML.И эта проблема возникла внезапно, хотя БД часто обновлялась, и раньше такой проблемы не было.
Я не имею ни малейшего понятия, связана ли проблема с 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
Таблица I, которая имеет внешний ключ из таблицы 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