如何:使用存储过程执行查询(实体框架)

 我来答
纪念688
2013-11-08 · TA获得超过126个赞
知道答主
回答量:111
采纳率:50%
帮助的人:117万
展开全部
许多应用程序开发人员和数据库管理员都使用存储过程来增强安全性、提供可预测性以及对数据库内的数据封装逻辑。检索映射到存储过程的数据的应用程序代码使用由 FunctionImport 元素标识的函数。如何:使用存储过程定义模型(实体框架) 中介绍了将存储过程映射到实体数据模型 (EDM) 实现所需的架构语法的基本元素。EDM 支持两种存储过程映射。有关映射用于更新数据的存储过程的更多信息,请参见存储过程支持(实体框架)。本主题中的示例基于 Adventure Works 销售模型。若要运行本示例中的代码,必须已将 AdventureWorks 销售模型添加到您的项目中,并将项目配置为使用实体框架。为此,请完成如何:手动配置实体框架项目和如何:手动定义实体数据模型(实体框架) 中的过程。此架构中定义了五个实体:AddressContactProductSalesOrderDetailSalesOrderHeader以下步骤实现一个客户端应用程序,以及一段执行存储过程的代码,该存储过程映射到数据模型的概念架构中的 GetOrderDetailsFunctionImport。该函数检索与给定 SalesOrderHeader 相关的 SalesOrderDetail 实体。(此模型中的 FK_SalesOrderDetail_SalesOrderHeader_SalesOrderID 关联可以实现与此示例相同的功能。)在数据库中创建存储过程创建控制台应用程序。添加对主题如何:使用存储过程定义模型(实体框架)中实现的 dll 的引用。添加对 System.Data.Entity 和System.Runtime.Serialization 的引用。为在如何:使用存储过程定义模型(实体框架)中实现的 AdventureWorksModel 添加预处理器指令。示例存储过程中使用了 SalesOrderHeaderId 所需的参数。在对象浏览器中可以找到该语法(AdventureWorksEntities 命名空间中的方法:GetOrderDetails(int)。)下面的代码运行存储过程来返回结果,这些结果随后在 foreach 循环中枚举。C#VBOptionExplicitOnOption Strict OnImports System Imports System.Collections.Generic Imports System.Linq Imports System.Text Imports AdvWrksSalesModel Module Module1 Sub Main() TryUsing db As AdvWksSalesEntities = New AdvWksSalesEntities() Dim soHeaderNumber AsInteger = 43659 ForEachorderAs SalesOrderDetail _ In db.GetOrderDetails(soHeaderNumber) Console.WriteLine("Header#: {0} " & _ "Order#: {1} ProductID: {2} Quantity: {3} Price: {4}", _ soHeaderNumber, order.SalesOrderDetailID, order.ProductID, _ order.OrderQty, order.UnitPrice) NextEndUsingCatch ex As System.Data.MappingException Console.WriteLine(ex.ToString()) Catch ex As System.Data.CommandExecutionException Console.WriteLine(ex.ToString()) EndTryEndSubEndModule输出结果将如下所示: Header#: 43659 Order#: 1 ProductID: 776 Quantity: 1 Price: 2024.9940 Header#: 43659 Order#: 2 ProductID: 777 Quantity: 3 Price: 2024.9940 Header#: 43659 Order#: 3 ProductID: 778 Quantity: 1 Price: 2024.9940 Header#: 43659 Order#: 4 ProductID: 771 Quantity: 1 Price: 2039.9940 Header#: 43659 Order#: 5 ProductID: 772 Quantity: 1 Price: 2039.9940 Header#: 43659 Order#: 6 ProductID: 773 Quantity: 2 Price: 2039.9940 Header#: 43659 Order#: 7 ProductID: 774 Quantity: 1 Price: 2039.9940 Header#: 43659 Order#: 8 ProductID: 714 Quantity: 3 Price: 28.8404 Header#: 43659 Order#: 9 ProductID: 716 Quantity: 1 Price: 28.8404 Header#: 43659 Order#: 10 ProductID: 709 Quantity: 6 Price: 5.7000 Header#: 43659 Order#: 11 ProductID: 712 Quantity: 2 Price: 5.1865 Header#: 43659 Order#: 12 ProductID: 711 Quantity: 4 Price: 20.1865 另请参见任务如何:使用存储过程定义模型(实体框架)概念AdventureWorks 销售模型 (EDM)存储过程支持(实体框架)ModificationFunctionMapping (EntityTypeMapping)ModificationFunctionMapping (AssociationSetMapping)
壹寰(深圳)科技文化有限公司
2021-03-27 广告
不同公司提供的方案也不一样。以上回答如果还觉得不够详细,可以来咨询下壹寰(深圳)科技文化有限公司。91数据恢复是壹寰(深圳)科技文化有限公司旗下专业数据恢复品牌,91数据恢复专注于勒索病毒数据恢复、勒索病毒数据修复、数据库修复、数据库解密恢... 点击进入详情页
本回答由壹寰(深圳)科技文化有限公司提供
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式