c# – 使用实体框架执行存储过程

是否可以使用EF执行存储过程,使用内连接和左外连接从两个或多个表中选择数据库中的记录.

我的观点是避免在EF或LINQ中进行连接的方法,我有很多问题.

因此,如果我创建该过程,我可以使用来自用户输入的参数调用它,可以将结果分配给.ToList()方法,然后将结果添加到asp:repeater .DataSource.

我知道这可能是一个奇怪的问题,但我想这样做有很多原因
首先,使用EF因为我感觉更舒服.
第二,摆脱在EF中使用连接.
第三,我在某处读到,当用于经常调用查询时,使用存储过程将提高查询性能.

如果有人可以帮助我用一个例子回答这些问题,我将不胜感激.

解决方法

您可以从Entity Framework数据上下文中调用SqlQuery.
context.Database.SqlQuery<YourType>("exec usp_StoredProcedure").ToList()

作为示例,您需要一个类来映射查询结果:

public class YourType
{
   public string Property1 { get; set; }
   public string Property2 { get; set; }
}

您还可以为查询指定参数,如下所示:

SqlParameter parameter1 = new SqlParameter("@Parameter1","Value");
context.Database.SqlQuery<YourType>("exec usp_StoredProcedure @Parameter1",parameter1).ToList()

相关文章

项目中经常遇到CSV文件的读写需求,其中的难点主要是CSV文件...
简介 本文的初衷是希望帮助那些有其它平台视觉算法开发经验的...
这篇文章主要简单记录一下C#项目的dll文件管理方法,以便后期...
在C#中的使用JSON序列化及反序列化时,推荐使用Json.NET——...
事件总线是对发布-订阅模式的一种实现,是一种集中式事件处理...
通用翻译API的HTTPS 地址为https://fanyi-api.baidu.com/api...