不错呦!smile@林凯西,确保“准备文件”中的几个文件都有安装,S...您好,看了您这篇帖子觉得很有帮助。但是有个问题想请...我的修改过了怎么还被恶意注册呢 @jjjjiiii 用PJ快9年了,主要是A...PJ3啊,貌似很少有人用PJ了,现在不是WP就是z...@332347365,我当时接入时错误码没有-10...楼主,ChkValue值应为-103是什么意思呢?...大哥 你最近能看到我发的信息,请跟我联系,我有个制...
Entity Framework4.1调用存储过程示例
编辑:dnawo 日期:2012-09-07
一、调用返回单个值的存储过程
1.存储过程
2.DbContext对象中的方法
3.调用示例
二、调用返回表的存储过程
1.存储过程
2.DbContext对象中的方法
TestClass类:
3.调用示例
1.存储过程
复制内容到剪贴板
程序代码

Create PROCEDURE [dbo].[Do]
@a int,
@b int
AS
BEGIN
select @a + @b --不能用return
END
@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();
}
{
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);
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
@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();
}
{
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; }
}
{
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);
List<TestClass> test = context.Do(7, 8);
foreach (TestClass item in test)
Console.WriteLine("{0},{1}", item.f1, item.f2);






评论: 0 | 引用: 0 | 查看次数: 4293
发表评论
请登录后再发表评论!