對於ef的操作,其經驗積累如下。
ef中使用sql語句或儲存過程
1、無引數查詢
var model = db.database.sqlquery("select* from userinfoes ").tolist();
2、有參查詢
var model = db.database.sqlquery("select* from userinfoes where id=@id ",new sqlparameter("@id",id)).tolist();
3、結合linq查詢
var model = (from p in db.userinfo.sqlquery("select * from userinfoes where id=@id", new sqlparameter("@id", 1)) select p).tolist();
4:ef原始查詢單獨表
model = db.userinfo.orderbydescending(a => a.id).skip(10 * (當前頁 - 1)).take(10).tolist();
5,ef 執行儲存過程或delete 刪除語句
sqlparameter para = new sqlparameter ;
db.database.executesqlcommand("delete userinfoes where id=@id", para);
儲存過程 刪除,有幾個引數,儲存後面要帶幾個引數以逗號分隔
sqlparameter para = new sqlparameter ;
////
返回受影響的行數
db.database.executesqlcommand("sp_userinfos_deletebyid @id", para);
////
返回資料的集合
listdd02 = dbsql.database.sqlquery("
exec getactionurlid @name
", parameters).tolist();//
返回查詢到的實體集合
6.code first 遷移資料庫時,可以根據nuget中遷移報告直接對資料庫進行更新公升級即可。
code first公升級資料庫時,只對最後一次公升級有效,即若系統共更新了5次,則可以省略前四次,直接第五次即可,但若不依次進行,則前幾次的更新未體現在資料庫中,往往會導致程式不能正常執行。
code first原則上以最新更新的資料庫版本為準,但如果在更改資料庫前未獲取最新**,則原來的更新未及時反映到資料庫中,則會顯示版本不對的。因此,更新資料庫前,需要先獲取最新**,然後更新資料庫,更新後立即上傳**。從而保證**的一致性
常用前端知識積累
使用閉包主要是為了設計私有的方法和變數。優點是可以避免全域性變數的汙染,缺點是閉包會常駐記憶體,會增大記憶體使用量,使用不當很容易造成記憶體洩露 第一 每個特定的網域名稱下最多生成20個cookie ie6或更低版本最多20個cookie ie7和之後的版本最後可以有50個cookie。firefo...
知識的積累
最初認識darwin 的時候,我還是個沒畢業的新手。那時,我在公司做畢業設計,題目就是用c 對部門內已有的一套c的庫進行封裝。那套庫就是darwin開發的,這次封裝工作也是在他的領導之下進行的。當時,我對c 有著說不清的好感,心裡認定那是成為高手的必經之路,因此很樂於參加到這個工作之中。darwin...
SQL常用知識點積累
對於sql,主要是sql server的使用,常用知識點如下 1.根據資料庫指令碼生成資料庫。一般根據資料庫指令碼生成資料庫時,會非常慢,因為需要較資料庫架構即資料及其他資料庫相關的資訊一起複製到目標資料庫。但如果僅選擇資料庫指令碼的生成相關的表的sql語句,則較快。因此,根據指令碼還原資料庫時,一...