Welcome

首页 / 软件开发 / .NET编程技术 / 在ADO.NET Entity Framework中使用存储过程

在ADO.NET Entity Framework中使用存储过程2010-09-24建立示例数据库

数据库脚本:

SET ANSI_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[Group](
[GroupID] [int] IDENTITY(1,1) NOT NULL,
[GroupName] [nvarchar](20) NOT NULL,
CONSTRAINT [PK_Group] PRIMARY KEY CLUSTERED

[GroupID] 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_NULLS ON
GO

SET QUOTED_IDENTIFIER ON
GO

CREATE TABLE [dbo].[User](
[UserID] [int] IDENTITY(1,1) NOT NULL,
[UserName] [nvarchar](20) NOT NULL,
[UserGroupID] [int] 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 ADDCONSTRAINT [FK_User_Group] FOREIGN KEY([UserGroupID])
REFERENCES [dbo].[Group] ([GroupID])
GO

ALTER TABLE [dbo].[User] CHECK CONSTRAINT [FK_User_Group]
GO

create procedure CreateUser
@username nvarchar(20),
@groupid int
as
begin
insert into [User] ([UserName] ,[UserGroupID] ) values(@username,@groupid)
end
go

create procedure DeleteUser
@userid int,
@groupid int
as
begin
delete from [User] where UserID=@userid
end
go

create procedure UpdateUser
@userid int,
@username nvarchar(20),
@groupid int
as
begin
update [User] set [UserName] =@username ,[UserGroupID] =@groupid where [UserID] =@userid
end
go

create procedure GetUserInfo
@userid int
as
begin
select [UserID],[UserName],[UserGroupID] from [User] where [UserID] =@userid
end
go

insert into [Group] ([GroupName] ) values("管理员")
insert into [Group] ([GroupName] ) values("注册用户")
insert into [Group] ([GroupName] ) values("游客")
它将建立2个有外键关系的数据表和4个存储过程,分别为查询、插入、更新、删除。