Far*_*yad 6 c# mysql linq sql-server entity-framework
是否可以使用EF执行存储过程,使用内连接和左外连接从两个或多个表中选择数据库中的记录.
我的观点是避免在EF或LINQ中进行连接的方法,我有很多问题.
因此,如果我创建该过程,我可以使用用户输入的参数调用它,可以将结果分配给.ToList()方法,然后将结果添加到asp:repeater .DataSource.
我知道这可能是一个奇怪的问题,但我想首先要做这个,使用EF因为我感觉更舒服.第二,摆脱在EF中使用连接.第三,我在某处读到,当用于经常调用查询时,使用存储过程将提高查询性能.
如果有人可以帮助我用一个例子回答这些问题,我将不胜感激.
Dar*_*ren 18
您可以SqlQuery从Entity Framework数据上下文中调用.
context.Database.SqlQuery<YourType>("exec usp_StoredProcedure").ToList()
Run Code Online (Sandbox Code Playgroud)
作为示例,您需要一个类来映射查询结果:
public class YourType
{
public string Property1 { get; set; }
public string Property2 { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
您还可以为查询指定参数,如下所示:
SqlParameter parameter1 = new SqlParameter("@Parameter1", "Value");
context.Database.SqlQuery<YourType>("exec usp_StoredProcedure @Parameter1", parameter1).ToList()
Run Code Online (Sandbox Code Playgroud)