欢迎光临

木子屋

标题: Entity Framework4.1调用存储过程示例

作者: dnawo

日期: 2012-09-07 02:02 PM

分类: Win编程

内容: 一、调用返回单个值的存储过程
1.存储过程
复制内容到剪贴板 程序代码Create PROCEDURE [dbo].[Do]
@a int,
@b int
AS
BEGIN
select @a + @b --不能用return
END
2.DbContext对象中的方法
复制内容到剪贴板 程序代码public int Do(int a, int b)
{
SqlParameter[] parameters = new SqlParameter[]{
new SqlParameter("@a", SqlDbType.Int),
new SqlParameter("@b", SqlDbType.Int)
};
parameters[0].Value = a;
parameters[1].Value = b;
//Database是testContext对象属性，从DbContext继承而来
return Database.SqlQuery<int>("exec Do @a,@b", parameters).FirstOrDefault();
}
3.调用示例
复制内容到剪贴板 程序代码testContext context = new testContext();
int result = context.Do(7, 8);
Console.WriteLine(result);
二、调用返回表的存储过程
1.存储过程
复制内容到剪贴板 程序代码Create PROCEDURE [dbo].[Do]
@a int,
@b int
AS
BEGIN
select @a as f1, @b as f2 --必须有f1,f2
union all
select 10 as f1,20 as f2
END
2.DbContext对象中的方法
复制内容到剪贴板 程序代码public List<TestClass> Do(int a, int b)
{
SqlParameter[] parameters = new SqlParameter[]{
new SqlParameter("@a", SqlDbType.Int),
new SqlParameter("@b", SqlDbType.Int)
};
parameters[0].Value = a;
parameters[1].Value = b;
return Database.SqlQuery<TestClass>("exec Do @a,@b", parameters).ToList();
}
TestClass类：
复制内容到剪贴板 程序代码public class TestClass
{
public int f1 { get; set; }
public int f2 { get; set; }
}
3.调用示例
复制内容到剪贴板 程序代码testContext context = new testContext();
List<TestClass> test = context.Do(7, 8);
foreach (TestClass item in test)
Console.WriteLine("{0},{1}", item.f1, item.f2);

+ 查看当前日志评论 (0)

登录

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.658 ms

返回

标题: Entity Framework4.1调用存储过程示例

你没有权限发表评论

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.658 ms

返回

暂无评论

返回

────────────

木子屋

PJBlog3 v3.2.9.518 Inside.

Processed In 0.689 ms

返回