国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 學(xué)院 > 開(kāi)發(fā)設(shè)計(jì) > 正文

EF DB數(shù)據(jù)庫(kù)先行,的理解及其它與原生態(tài)SQL之間的互動(dòng)

2019-11-11 02:21:14
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

Entity Framework DBFirst,即(EF DBFirst)的使用

個(gè)人理解:微軟吧數(shù)據(jù)庫(kù)與對(duì)象,也就是dal與model兩個(gè)層合并到了一起了,產(chǎn)生了一個(gè)中間件df(Entity Framework),其中的dbfirst,和動(dòng)軟自動(dòng)生成的代碼幾乎一樣其主要是用linq語(yǔ)句進(jìn)行查詢,插入,更新,刪除,分別使用插入
   HBSIEntities entity = new HBSIEntities();            /*新建一個(gè)T_UserInfo表的實(shí)體,             * 即一個(gè)新行,為新行中的每一個(gè)字段賦值,             * 要明白,一個(gè)表可以看做一個(gè)實(shí)體,             * 表中的一行也可以看做一個(gè)實(shí)體*/            T_UserInfo userinforow = new T_UserInfo()            {                UserName = "bj",                Pwd = "123456",                NickName = "豬八戒",                Address = "高老莊",                Sfzh = "123452223333444423"            };            /*將新建的行實(shí)體添加到表實(shí)體中,             這個(gè)操作是在程序?qū)用娌僮鞯模?            * 并不會(huì)影響到數(shù)據(jù)庫(kù)層面*/            entity.T_UserInfo.AddObject(userinforow);            /*將程序?qū)用娴膶?shí)體的改變更新到數(shù)據(jù)源中,             通過(guò)這行代碼,就會(huì)向數(shù)據(jù)庫(kù)中添加一條數(shù)據(jù)*/            entity.SaveChanges();修改
 HBSIEntities entity = new HBSIEntities();            /*更改表的實(shí)體,注意在最后加上了“Id=7”,             標(biāo)識(shí)要更改實(shí)體表T_UserInfo中Id=7的行實(shí)體,             為字段重新賦值即可*/            T_UserInfo userinforow = new T_UserInfo()            {                UserName = "zbj",                Pwd = "234567",                NickName = "二師兄",                Address = "高老莊",                Sfzh = "123452223333444423",                Id=7            };            /*將改變的行實(shí)體附加到表實(shí)體中,             注意此時(shí)只是在程序?qū)用鎸?duì)表實(shí)體進(jìn)行更改*/            entity.T_UserInfo.Attach(userinforow);            /*使用對(duì)象狀態(tài)管理器ObjectStateManager             * 標(biāo)識(shí)實(shí)體userinforow的狀態(tài)為“更改”而不是“刪除”,             EntityState有很多枚舉值,可以自己查看,一看即懂*/            entity.ObjectStateManager.ChangeObjectState(userinforow,EntityState.Modified);            /*將程序?qū)用娴膶?shí)體的改變更新到數(shù)據(jù)源中,             通過(guò)這行代碼,就會(huì)更改數(shù)據(jù)庫(kù)中對(duì)應(yīng)表中的數(shù)據(jù)*/            entity.SaveChanges();刪除先說(shuō)刪除,和更改很想,只需要改2點(diǎn)。第一是在創(chuàng)建行實(shí)體的時(shí)候里面只需為Id屬性賦值即可,因?yàn)槲覀兌际歉鶕?jù)主鍵來(lái)刪除的,知道別的字段的值沒(méi)意義;第二就是更改EnrityState的枚舉值為Delete即可,見(jiàn)代碼
HBSIEntities entity = new HBSIEntities();                        T_UserInfo userinforow = new T_UserInfo()            {                                <span style="color:#ff0000;">Id = 7</span>            };                       entity.T_UserInfo.Attach(userinforow);                       entity.ObjectStateManager.ChangeObjectState(userinforow, <span style="color:#ff0000;">EntityState.Deleted</span>);            entity.SaveChanges();如何使用原生態(tài)呢,很簡(jiǎn)單
  ctx.Database.ExecuteNonQuery()總結(jié),其實(shí)偷懶的不二法寶,但是進(jìn)行復(fù)雜查詢的時(shí)候需要借助sql原生態(tài),比較合適,更新的時(shí)候每次更新很多數(shù)據(jù),插入的時(shí)候也不能做到單獨(dú)每個(gè)表單插入,要很完整的插入,所以說(shuō)這個(gè)中間件能提高開(kāi)發(fā)效率,但是執(zhí)行效率比較一般,生成:http://www.myexception.cn/database/1839805.html原生態(tài)sql使用http://www.cnblogs.com/lgx5/p/5854887.html
發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 贵南县| 临朐县| 迭部县| 平山县| 射阳县| 镇康县| 黔西| 吴堡县| 金寨县| 凉山| 大姚县| 缙云县| 桦川县| 喀喇沁旗| 九龙县| 永宁县| 大冶市| 郸城县| 黄龙县| 姚安县| 元氏县| 梅河口市| 柳州市| 平安县| 银川市| 南和县| 阜新市| 枣阳市| 民和| 汝城县| 远安县| 东海县| 天峻县| 乌恰县| 陇川县| 福安市| 垫江县| 乡城县| 常山县| 双柏县| 平顶山市|