说明:针对 entityframework 4.0 中添加存储过程和的调用方法
一.新建存储过程
USE [Tester]GO/****** Object: StoredProcedure [dbo].[GetUserInfoByUserName] Script Date: 05/11/2011 18:17:13
******/SET ANSI_NULLS ONGOSET QUOTED_IDENTIFIER ONGO --create PROCEDURE [dbo].[UserMg_GetUserInfo] -- 新建 --alter PROCEDURE [dbo].[UserMg_GetUserInfo] -- 修改 @userId char(50) as set nocount on begin declare @sqlstr varchar(2000); set @sqlstr=' select * from Customer a where a.u_id='+@userId+' union all select * from Customer b where b.u_id='+@userId+' ' exec(@sqlstr) end
二.VS 中导入存储过程1.双击项目中的 .edmx 文件,打开模型编辑窗口2.在空白处右击,选择“模型浏览器”3.展开“模型名.Store” 节点,并右击选择“从数据库更新模型”4.在打开的更新向导中选择“添加”选项卡,展开“存储过程”节点,勾选要添加的过程名称,点击完成5.右击新添加的存储过程名称,选择“添加函数导入”6.在弹出的“添加函数导入”窗口中,输入“函数导入名称”并选择该函数对应的“存储过程名称”7.如果存储过程有返回值的话需要在 “返回以下内容的集合”指定数据类型,并创建接受数据的实体对象 7.1 如果返回值为一个数值,则选择标量,并选择标量类型 7.2 如果返回的是多列的数据集,则选择“复杂类型” (注:在“存储过程列信息”中点击“获取列信息”按钮, 可以获取到存储过程的返回的结果集中各个列的类型, 特别声明:该获取的类信息取决于存储过程最后一个 select 语句 ) 7.3 点击“创建信息的复杂类型”按钮后,可以在“模型浏览器”的“复杂类型”节点下看到刚刚新建 的复杂类型了(负载类型的命名规则为:导入函数名称_Result)8.点击“确定”按钮后,可以在“模型浏览器”的“函数导入”节点下看到刚刚新导入的函数了9.到此已经成功的在该数据模型中添加一个存储过程的调用方法了
三.调用示例(只是语法调用的演示) /// <summary> /// 调用 UserMg_GetUserInfo 存储过程获取信息 /// </summary> /// <param name="userId">用户ID</param> /// <returns></returns> public static List<Customer> UserMg_GetUserInfo(string userId) { using (T.DataAccess.TesterEntities ent = new DataAccess.TesterEntities()) { ObjectParameter par = new ObjectParameter("userId", typeof(string)); ObjectResult<Customer> result = ent.UserMg_GetUserInfo(userId); if (result == null) return null;
return result.ToList(); } }
转载于:https://www.cnblogs.com/xxj-jing/archive/2011/05/12/2890107.html
相关资源:各显卡算力对照表!