SQL Server 2012 で Entity Framework (4.x、5) を使用すると、非常に奇妙な問題が発生しました。
説明するために、非常に単純な 1 対多の関係を持つ 2 つのテーブルを作成しました。
PK. [User].[UserId]
FK. [Order].[UserId]
ただし、EF はこれら 2 つのテーブルのナビゲーション プロパティをまったく生成しませんでした。EDMX では、2 つのテーブルは完全に分離されています。それらの間にはまったくリンクがありません。
次に、SQL Server 2008 で同じスクリプトを使用して同じテーブルを作成すると、突然、すべてが以前と同じように意図したとおりに機能します。
誰かが同じ問題を抱えていますか?そのための解決策はありますか?
MSDN の SQL Server 2012 Developer Edition を使用しています
CREATE TABLE [dbo].[Users](
[UserId] [int] IDENTITY(1,1) NOT NULL,
[UserName] [varchar](50) NOT NULL,
CONSTRAINT [PK_Users] PRIMARY KEY CLUSTERED
(
[UserId] ASC
)WITH (PAD_INDEX = OFF, STATISTICS_NORECOMPUTE = OFF, IGNORE_DUP_KEY = OFF, ALLOW_ROW_LOCKS = ON, ALLOW_PAGE_LOCKS = ON) ON [PRIMARY]
) ON [PRIMARY]
CREATE TABLE [dbo].[Orders](
[OrderId] [int] IDENTITY(1,1) NOT NULL,
[UserId] [int] NOT NULL,
CONSTRAINT [PK_Orders] PRIMARY KEY CLUSTERED
(
[OrderId] 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].[Orders] WITH CHECK ADD CONSTRAINT [FK_Orders_Users] FOREIGN KEY([UserId])
REFERENCES [dbo].[Users] ([UserId])
GO
ALTER TABLE [dbo].[Orders] CHECK CONSTRAINT [FK_Orders_Users]
GO