我有一个数据库优先生成的edmx项目。
我如何添加1:1或1:0..1关系到edmx或数据库(以及edmx)?
注意:
我已经在搜索引擎中扎根,寻找如何在Entity Framework 6.1中创建1:1或1:0..1关联;大多数人提到“代码优先”,有些人提到“模型优先”方法,几乎所有人都提到流利的API。
我研究了各种类似的Stack Overflow问题,它们也首先提到了代码。在我看来,代码优先不是一种选择。
我没有找到任何一篇文章提及该功能是否可以在Database First中使用。
谢谢 :)
我已经解决了如何在Database First中创建1:0..1关系。
对于两个表(在此示例中为Tbl_A和Tbl_A_Proxy),它要求一个表的主键不是IDENTITY(1,1),并且其主键是与另一表的主键对应的外键。
可能还有其他方法,但这就是我解决的方法。
USE [Database]
GO
SET ANSI_NULLS ON
GO
SET QUOTED_IDENTIFIER ON
GO
SET ANSI_PADDING ON
GO
CREATE TABLE [dbo].[Tbl_A]
(
[id] [int] IDENTITY(1,1) NOT NULL,
[Name] [varchar](255) NOT NULL,
CONSTRAINT [PK_Tbl_A] 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
CREATE TABLE [dbo].[Tbl_A_Proxy]
(
[id] [int] NOT NULL,
CONSTRAINT [PK_Tbl_A_Proxy] 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 [Database].[dbo].[Tbl_A_Proxy]
ADD CONSTRAINT [FK_Tbl_AProxy]
FOREIGN KEY ([id])
REFERENCES [Database].[dbo].[Tbl_A]([id])
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句