如何在EntityFramework Codefirst中创建外键? [英] How to Create Foreign Key in EntityFramework Codefirst?

查看:380
本文介绍了如何在EntityFramework Codefirst中创建外键?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们如何创建数据库如下所示 EntityFramework CodeFirst Appraoach

注意:



我已经创建了身份自动增加2并且它是所有表的外键。

我们如何为外键和唯一键编写FluentAPI?

 创建  [dbo]。[UserAccount] 

[ UserID] int 身份 1 ,< span class =code-digit> 2 ),
[电子邮件] nvarchar 50 ),
[用户名] nvarchar 50 ),
[密码] nvarchar 50 ),
约束 [PkUserAccount] 主要 密钥([UserID]),
约束 [UkEmail] 唯一([电子邮件]),
约束 [UkUserName] 唯一([UserName] )

Go

创建 dbo.UserPersonal

[UserID] int
[名称] nvarchar 50 ),
[国籍] nvarchar 50 ),
[Location] nvarchar 50 ),
[DoB] date
[Mobile] nvarchar 50 ),
[性别]
Co nstraint [PkUserPersonal] 主要 密钥([UserID]),
约束 [FrUserIDPersonal] 外来 ([UserID] )参考 dbo。[UserAccount]([UserID]) 删除 级联
约束 [UKMobile] 唯一([手机])

Go

创建 dbo.UserProfessional

[UserID] int
[经验] Int
[行业] nvarchar 50 ),
[FunctionalArea] nvarchar 50 ),
[KeySkills] nvarchar 50 ),
[恢复] nvarchar 50 ),
约束 [PkUserProfessional] 主要 Key ([UserID]),
Constraint [FrUserIDProfessional] Foreign 密钥([UserID])参考 dbo。[UserAccount]([UserID]) delete cascade

GO

解决方案

试试这个:



http://msdn.microsoft.com/en-us/library/vstudio/ee828425%28v=vs.100%29.aspx [ ^ ]



http: //blogs.msdn.com/b/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx [ ^ ]

how can we create Database looks like as follows in EntityFramework CodeFirst Appraoach:
Note:

I have created identity auto incremented by two and it is foreign key for all table.
How can we write FluentAPI for foreign Key and unique key?

Create Table [dbo].[UserAccount]
(
[UserID] int Identity(1,2),
[Email] nvarchar(50),
[UserName] nvarchar(50),
[Password]nvarchar(50),
Constraint [PkUserAccount] Primary Key([UserID]),
Constraint [UkEmail] Unique([Email]),
Constraint [UkUserName] Unique([UserName])
)
Go

Create Table dbo.UserPersonal
(
[UserID] int,
[Name] nvarchar(50),
[Nationality] nvarchar(50),
[Location] nvarchar(50),
[DoB]  date,
[Mobile] nvarchar(50),
[Gender] bit,
Constraint [PkUserPersonal] Primary Key([UserID]),
Constraint [FrUserIDPersonal] Foreign Key([UserID]) references dbo.[UserAccount]([UserID]) on delete cascade,
Constraint [UKMobile] Unique([Mobile])
)
Go

Create Table dbo.UserProfessional
(
[UserID] int,
[Experience] Int,
[Industry] nvarchar(50),
[FunctionalArea] nvarchar(50),
[KeySkills] nvarchar(50),
[Resume] nvarchar(50),
Constraint [PkUserProfessional] Primary Key([UserID]),
Constraint [FrUserIDProfessional] Foreign Key([UserID]) references dbo.[UserAccount]([UserID]) on delete cascade,
)
GO

解决方案

Let try this:

http://msdn.microsoft.com/en-us/library/vstudio/ee828425%28v=vs.100%29.aspx[^]

http://blogs.msdn.com/b/efdesign/archive/2009/03/16/foreign-keys-in-the-entity-framework.aspx[^]


这篇关于如何在EntityFramework Codefirst中创建外键?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆