在ef中使用存储过程和使用视图是很相似的,一般会使用databa对象上的两个方法:sqlquery和executesqlcommand。为了从存储过程中读取很多数据行,我们只需要定义一个类,我们会将检索到的所有数据行物质化到该类实例的集合中。比如,从下面的存储过程读取数据:
book实体类定义如下:
booktype实体类定义如下:
注意:类的属性名必须和存储过程中定义的列名一致。
使用sql语句创建存储过程:
查看数据库:
调用存储过程查询数据
注意:在使用存储过程前,先第二英语要在存小学生中秋古诗储过程中执行该存储过程或者使用上面的程序生成存储过程。
在上面的代码中,我们制定了使用哪个类读取查询的结果,创建sql语句时,也为存储过程的参数提供了一个格式化占位符,调用sqlquery时为那个参数提供了一个值。假如要提供多个参数的话,多个格式化占位符必须要用逗号分隔,还要给sqlquery提供值的数组。我们也可以使用表值函数代替存储过程。存储过程执行结果如下:
另一个用例就是假如存储过程没有任何的返回值,只是对数据库中的一张表或者多张表执行了一条命令的情况。一个存储过程做了多少事情不重要,重要的是它不返回任何数据。例如:下面的存储过程只是更新了一些数据:
先在数据库中执行该存储过程,然后要调用该存储过程,我们使用executesqlcommand()方法。该方法会返回存储过程或者其它任何sql语句受影响的行数。如果对这个返回值不感兴趣,可以忽略返回值。
新疆的大学排名上面的代码中为存储过程提供了两个参数:一个是name,一个是id。这里需要注意的是:我们必须严格按照它们在存储过程中定义的顺序依次传入相应的值,它们会以参数数组传入executesqlcommand。执行结果如下:
很大程度上,ef降低了存储过程的需要。然而,仍旧有很多原因要使用它们。这些原因包括安全标准、遗留数据库或者效率问题。比如,如果需要在单个操作中更新几千条数据,然后在通过ef检索出来;如果每次都更新一行,然后描写景物的词语在保存那些实例,效率是很低的。最后,即使使用了sqlquery()方四级报名费法调用了存储过程,也可以更新数据。
注意:开发者可以执行任意的sql语句,只需要将上面sqlquery或executesqlcommand方法中的存储过程名称改为要执行的sql语句就可以了。
示例代码下载地址:点此下载
到此这篇关于entity framework使用code first模式管理存储过程的文章就介绍到这了。希望对大家的学习有所帮助,也希望大家多多支持www.887551.com。
本文发布于:2023-04-06 01:20:51,感谢您对本站的认可!
本文链接:https://www.wtabcd.cn/fanwen/zuowen/139a9912c1d208e21454f6aaa98e6ace.html
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文word下载地址:Entity Framework使用Code First模式管理存储过程.doc
本文 PDF 下载地址:Entity Framework使用Code First模式管理存储过程.pdf
留言与评论(共有 0 条评论) |