暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

在EF中执行SQL语句

零度编程 2021-07-20
427

 

在实体框架4.1和更高版本中,你可以直接执行任意数据源的命令。使用下面的方法,使您能够执行对数据源的原始的SQL命令

返回特定类型的实体,DbSet上的sqlquery使您能够执行原始的SQL查询返回特定的实体实例,默认情况,被返回的实体被tracked by TheCOntext ,可以通过在 SqlQuery上调用AsNoTracking来改变

using (var context = new SchoolEntities()) { var departments =context.Departments.SqlQuery( "select * from Department").ToList(); }


返回任意类型的数据,DataBase上的SQlquery使你能够执行sql返回任意类型的数据,被返回的数据没有被tracked by The COntext,


using(varcontext = newSchoolEntities())

{

    varnames =  context.Database.SqlQuery<string>("select Name from  Department").ToList();

}

使用DataBaseExecuteSqlCommand去更新数据


using(varcontext = newSchoolEntities())

{

    context.Database.ExecuteSqlCommand("update  Department set Name = 'Mathematics' where Name = 'Math'");

}

 使用ExecuteSqlCommand 或者SqlQuery直接指定存储过程

context.Database.ExecuteSqlCommand("EXECUTE [dbo].[DoSomething]").

 


文章转载自零度编程,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论