首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >实体框架-1到1的关系,其中一端不是主键

实体框架-1到1的关系,其中一端不是主键
EN

Stack Overflow用户
提问于 2010-12-19 21:58:04
回答 2查看 2.9K关注 0票数 0

我想在实体框架数据模型中定义一个关系,即1到1,其中一端是一个表的主键,另一端是另一个表上的外键。例如:

代码语言:javascript
运行
复制
table: aspnet_Users
w/ col: UserId guid Primary Key

使用与User表的UserId列相关的aspnet_Users表的AspUserId属性:

代码语言:javascript
运行
复制
table: User
w /col: UserId int Primary Key
w /col: AspUserId guid

当我尝试这样做时,我会收到一个错误,因为AspUserId字段不是它的表中无法工作的主键:

错误21错误113:多重性在关系‘FK_User_aspnet_User’中的角色'User‘中无效。因为依赖角色属性不是关键属性,因此依赖角色的多重性的上限必须是*。

EN

Stack Overflow用户

发布于 2010-12-20 03:16:26

作为对海报的回应,用户表:

代码语言:javascript
运行
复制
CREATE TABLE [dbo].[User](
    [UserId] [int] IDENTITY(1,1) NOT NULL,
    [AspUserId] [uniqueidentifier] NOT NULL,
    [ModifiedDate] [datetime] NOT NULL,
    [CreatedDate] [datetime] NOT NULL,
CONSTRAINT [PK_User] 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]
GO

ALTER TABLE [dbo].[User]  WITH CHECK ADD  CONSTRAINT [FK_User_aspnet_Users] FOREIGN     KEY([AspUserId])
REFERENCES [dbo].[aspnet_Users] ([UserId])
GO

ALTER TABLE [dbo].[User] CHECK CONSTRAINT [FK_User_aspnet_Users]
GO
票数 0
EN
查看全部 2 条回答
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4485350

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档