在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
来源:互联网 发布:逆袭网络剧06在线观看 编辑:程序博客网 时间:2024/05/20 11:25
今天琢磨了一天弄这个问题,真是很郁闷。
我需要在EF中使用定义对象模型的方式调用一个存储过程,这个存储过程返回的是一组包含两列的值。(ProjectName,Count)
下面是存储过程:
CREATE procedure [dbo].[Pro_Project_By_UserID]
@userID nvarchar(36)
AS
SELECT Project AS ProjectTypeName,
Count(BA.ProjectId) AS ProjectCount
FROM dbo.B_AllProjectInfo BA
WHERE IsComplex = 1
AND UserId = @userID
GROUP BY Project
在DB中定义了这个SP后,在C#中的*.edmx中,选择‘从数据库更新模型’,更新方式和更新表一样。这样在C#中就会生成
Pro_Project_By_UserID_Result
的类,还有一个函数
public virtual ObjectResult<Pro_Project_By_UserID_Result>Pro_Project_By_UserID(string userID)
{
var userIDParameter = userID != null ?
new ObjectParameter("userID", userID) :
new ObjectParameter("userID", typeof(string));
return ((IObjectContextAdapter)this).ObjectContext.ExecuteFunction<Pro_Project_By_UserID_Result>("Pro_Project_By_UserID_UserID", userIDParameter);
}
在实际执行时,代码如下:
var curProjects = dataContext.Pro_Project_By_UserID(myUserID).ToList();
请注意,这里一定要加上ToList(),否则返回的值不能用。这个地方折磨我半天。因为发现明明运行成功了,但是如果不加ToList(),获取的值没地方拿。
- 在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
- 在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
- 在C#中使用EF(EntityFramework)插入数据到DB的异常
- EntityFramework 4.0 中添加对存储过程的调用
- 在ASP.NET中使用SQL Server作为数据库,DB First方式使用EF(EntityFramework)进行开发和部署时的connectionString
- 使用EF来调用存储过程
- 带输出参数的存储过程的使用及在C#中调用问题
- 带输出参数的存储过程的使用及在C#中调用问题
- 带输出参数的存储过程的使用及在C#中调用问题
- 怎样在C#中调用存储过程?
- 在C#中调用存储过程
- 如何在C#中调用存储过程
- MVC之EF(调用存储过程的分页)
- c#生成实体类和存储过程
- 在C#中调用存储过程(WinForm)
- EF(EntityFramework) 的 CodeFirst 使用指南二(基本使用)
- sql生成(c#调用存储过程返回数据表)代码的存储过程
- EF中关于存储过程的操作
- Graphviz入门
- MATLAB中median函数的用法
- SQL类--SQL语句构建器
- 代理服务器错误导致不能上网(Win 10)
- Spring的单例模式底层实现
- 在C#中使用EntityFramework(EF)生成实体进行存储过程的调用
- setTimeout()和setInterval()
- JQuery选择器之CSS选择器
- 【BZOJ】3884 上帝与集合的正确用法 欧拉函数
- Python中续行符的注意事项
- Linux多线程编程之创建两个子线程,分别执行子线程函数(注意编译方式)
- HTML5--javascript代码实现Tab切换
- MATLAB中find函数详解
- R语言上熵权法确定权重的实现