c#用 ef怎么執行sql語句
EF model first方式, 你的DB是繼承ObjectContext using (MyObjectContext db = new MyObjectContext() ){ string sql = “ select columnA, columnB from TableA where 1 = 1 ”; *eStoreQuery
c#用 ef怎么執行sql語句
EF model first方式, 你的DB是繼承ObjectContext
using (MyObjectContext db = new MyObjectContext() )
{
string sql = “ select columnA, columnB from TableA where 1 = 1 ”;
*eStoreQuery(sql).ToList();//TableAObject就是你定義的對象,對象屬性就是columnA, columnB
} code first, 你的db是繼承DbContext
using (MyDbContext db = new MyDbContext() )
{
string sql = “ select columnA, columnB from TableA where 1 = 1 ”;
*ry(sql).ToList();//TableAObject就是在MyDbContext 定義的對象
}
這里只是列舉查詢的方式,僅供參考,一般新增 刪除 或者修改 用對象的方式比較多,如果是sql,一般是
*eSqlCommand(sqlString)
如何在EF中直接運行SQL命令
現在有了EF4.1,API的名字又有了些許改變。
如果說DbContext將ObjectContext做了包裝,那么*se就是對應于數據庫端信息的封裝。執行SQL命令也自然從Database類型開始。
對應于ExecuteStoreCommand和ExecuteStoreQuery
如何在EF中直接運行SQL命令
*ry(sql).AsQueryable();//這個返回是queryable
返回DataTable要自己寫個擴展方法
public static DataTable SqlQueryForDataTatable(this Database db,
string sql,
SqlParameter[] parameters)
{
SqlConnection conn = new *nection();
*tionString = *tionString;
if (* != *)
{
*();
}
SqlCommand cmd = new SqlCommand();
*tion = conn;
*dText = sql;
if (* > 0)
{
foreach (var item in parameters)
{
*(item);
}
}
SqlDataAdapter adapter = new SqlDataAdapter(cmd);
DataTable table = new DataTable();
*(table);
return table;
}
ef使用sql語句查詢單個數據,比如我要查詢某表里面的某一個值,該怎
declare
varchar temp(10)
select @temp=z from DB:A where 。
if(@temp==1)
select * from DB:B where。
else if(@temp==2)
select * from DB:C where。
else if(@temp==3)
select * from DB:D where。
這個思路應該是這樣的,你自己把代碼補充完整,數據類型定好,希望能幫到你
如何查看EF 生成的sql語句
添加 引用:using *s;var results = *_*(s => * == 2160);var sql = (results as ObjectQuery
ef的savechanges最多執行多少條數據
執行存儲過程后是直接執行了SQL語句 但是如果不適用 SaveChanges()保存的話 EF在內存維護的數據會沒有改變 如果不注意一下的話 可能會引起讀取的是舊數據 也就是讀取的是內存中的數據。
EF 有些方法是會先讀取內存中維護的數據如果沒有才會從數據庫中執行SQL語句讀取數據庫中的數據的。 使用 SaveChanges() 方法是非常重要的 當然最安全的就是執行方法結束后 立即SaveChanges() 但要是操作的方法涉及到多個執行語句 那么就建議全部執行完成后保存。
ef的savechanges最多執行多少條數據
執行存儲過程后是直接執行了SQL語句 但是如果不適用 SaveChanges()保存的話 EF在內存維護的數據會沒有改變 如果不注意一下的話 可能會引起讀取的是舊數據 也就是讀取的是內存中的數據。
EF 有些方法是會先讀取內存中維護的數據如果沒有才會從數據庫中執行SQL語句讀取數據庫中的數據的。 使用 SaveChanges() 方法是非常重要的 當然最安全的就是執行方法結束后 立即SaveChanges() 但要是操作的方法涉及到多個執行語句 那么就建議全部執行完成后保存。