在EF中使用SQL語句


在實體框架4.1和更高版本中你可以直接執行任意數據的命令。使用下面的方法使您能夠執行對數據源原始的SQL命令

返回特定類型的實體,DbSet上的sqlquery使您能夠執行原始SQL查詢返回特定的實體實例,默認情況,被返回的實體被tracked by The COntext ,可以通過在 SqlQuery上調用AsNoTracking來改變

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


返回任意類型的數據,DataBase上的SQlquery使你能夠執行sql返回任意類型的數據,被返回的數據沒有被tracked by The COntext,

using (var context = new SchoolEntities())
{ 
    var names = context.Database.SqlQuery<string>("select Name from Department").ToList(); 
}

使用DataBase的ExecuteSqlCommand去更新數據

using (var context = new SchoolEntities())
{
    context.Database.ExecuteSqlCommand("update Department set Name = 'Mathematics' where Name = 'Math'");
}

 使用ExecuteSqlCommand 或者SqlQuery直接指定存儲過程

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM