台灣最大程式設計社群網站
線上人數
971
 
會員總數:243152
討論主題:187974
歡迎您免費加入會員
討論區列表 >> C# >> Entity Framework UPDATE 如何直接向資料庫?
[]  
[我要回覆]
回應主題 加入我的關注話題 檢舉此篇討論 將提問者加入個人黑名單
Entity Framework UPDATE 如何直接向資料庫?
價值 : 50 QP  點閱數:5678 回應數:19

樓主

coolman
初學者
42 135
1158 147
發送站內信

UPDATE [Sequence] SET [Current]=[Current]+1 WHERE [ID]=@ID

以上的東西如何用Entity Framework實現呢?? 目前我只用: db.Database.ExecuteSqlCommand,不想讀一次再寫...
高人可否指點呢?

搜尋相關Tags的文章: [ Entity Framework ] , [ UPDATE ] , [ 直接 ] ,
本篇文章發表於2012-12-04 17:26
別忘捐VP感謝幫助你的人 新手會員瞧一瞧
1樓
回應

KKBruce
捐贈 VP 給 KKBruce 檢舉此回應
一個是ADO.NET
一個是EF

兩種是完全不同的技術,不想重寫是不可能的事。
等你想通了,再來接下去討論…
本篇文章回覆於2012-12-04 17:50
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
2樓
回應

阿源哥哥
捐贈 VP 給 阿源哥哥 檢舉此回應
使用 Entity Framework 還是可以直接下 T-SQL 指令的,請參考這一篇

註:這一篇寫的時候是比較舊的 Entity Framework 版本,最近新版可能有些改變,但是關念應該是一樣的。
本篇文章回覆於2012-12-04 21:41
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
3樓
作者回應

coolman
檢舉此回應
那就是沒方便嗎?
本篇文章回覆於2012-12-04 23:08
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
4樓
回應

阿源哥哥
捐贈 VP 給 阿源哥哥 檢舉此回應
在2樓不是跟您說可以了嗎?!

類似以下這樣:

本篇文章回覆於2012-12-04 23:25
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
5樓
回應

KKBruce
捐贈 VP 給 KKBruce 檢舉此回應
要用EF,但不學EF,這樣對嗎?
本篇文章回覆於2012-12-05 07:23
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
6樓
作者回應

coolman
檢舉此回應
我已經用了4樓的方法,但我就是不想有這種,事實上沒有非SQL的方式嗎,那用EF有什麼用呢?? 倒不如自己寫SQL了...
本篇文章回覆於2012-12-05 10:51
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
7樓
回應

史努比
檢舉此回應
把UPDATE寫成預存程序, 然後再製成EF,

GOOGLE找到的文章

樓上幾位提供的是底層方法, 您可以自己把樓上提供的內容加入Context物件中製成新的Function, 一樣可以簡單呼叫

況且打開Entitiy Framework自己生成的函式, 內容也是大同小異, 不太懂您心中期望要簡單到什麼程度?
本篇文章回覆於2012-12-05 12:43
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
8樓
回應

kevin
檢舉此回應
是的,ADO.NET Entity Framework 就是有非 SQL 的方式來操作存取資料,
但...... 你要會去用它呀


既然選擇使用 ADO.NET Entity Framework,
那麼是不是就應該去學習怎麼使用 EF 的操作呢?
會使用 LINQ 語法嗎?知道如何不使用 SQL Staement 的方式來存取資料嗎?
EF 不是一個取代原有 ADO.NET 的技術,它還架構在 ADO.NET 上,
所以用它,就要學習怎麼用,而不是用了這樣技術卻還是想要延續以前的做法。

ASP 跟 ASP.NET 都是拿來做網站的,
ASP 可以不用裝 Visual Studio 就可以開發,
ASP.NET 雖然有人覺得也可以不用拿 Visual Studio 就可以開發,但使用 Visual Studio 是不是更好更完整呢?
ASP.NET 不會因為不可以使用舊的操作方法(開 Notepad 編輯)而讓人覺得它出來是幹嘛的,
而是你要認知,學習了一項技術就要去了解這技術的特點,與原來的技術有何差異,
並不是拿舊技術的操作思維來去挑戰新技術,說新技術連舊的操作都不用之後就質疑新技術。
本篇文章回覆於2012-12-05 13:17
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
9樓
作者回應

coolman
檢舉此回應
其實可否真接些說:
UPDATE [Sequence] SET [Current]=[Current]+1 WHERE [ID]=@ID
我不用自行寫 SQL 方式,更不用Store Procedure,那怎麼實現?? 但要在 EF 之下做...
本篇文章回覆於2012-12-05 14:16
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
10樓
回應

kevin
檢舉此回應
不曉得 coolman 有無 google 過相關的資訊呢?
例如搜尋「ADO.NET Entity Framework 新增 刪除 修改 查詢」

我直接推薦你可以看看「點部落 David .Net - ADO.NET Entity Framework」的系列教學文章
ADO.NET Entity Framework 教學
本篇文章回覆於2012-12-05 14:20
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
11樓
作者回應

coolman
檢舉此回應


我沒理由一時用SQL一時用非SQL啦?? 到底 UPDATE 那行可怎轉成非SQL寫在代碼內,但不要先讀再寫那一種,我已找過很多了,沒人給答案...
本篇文章回覆於2012-12-05 17:22
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
12樓
回應

kevin
檢舉此回應
你只是把 ADO.NET Entity Framework 拿來當做 ADO.NET 的替代品,
然後尋求你所需要的解法,
如果你不明瞭 ORM, 物件導向的話,給你答案,你也是不會明白的...

本篇文章回覆於2012-12-05 18:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
13樓
回應

阿源哥哥
捐贈 VP 給 阿源哥哥 檢舉此回應
可能是雞同鴨講,終於明白樓主要的是什麼了。



因為我不知道id的會是一群資料,還是單一資料,我先假定是一群資料好了。

其實對於Entity Framework的操作就有點像jQuery
先選出要的元件(姑且叫他元件),然後對他做一些操作
最後儲存。

===========================================================
因為昨天一看到T-SQL的陳述式,直覺地就想到您想在Entity Framework中下T-SQL指令,
才會造成整個討論失焦了,Sorry。
本篇文章回覆於2012-12-05 21:04
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
14樓
回應

AllenStyle
檢舉此回應
您好!

我覺得提問者語氣似乎應該在自重點,

不管熱心回復你的前輩用什麼方式回覆,

自己應當有不恥下問的心態。

另外,你的問題很顯然是自己的研究不足,

這既不是技術問題,也不是觀念問題。

如果你願意花心思去看點官方教材或是網路上的教材,

這些都是垂手可得的資源,你願意的話,這個問題也不用留在這裡等待他人回復,

想必更快得到答案。

AllenStyle
本篇文章回覆於2012-12-05 21:57
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
15樓
回應

KKBruce
捐贈 VP 給 KKBruce 檢舉此回應
http://social.msdn.microsoft.com/Forums/zh-TW/238/thread/8fb0f45d-425f-4b16-bc21-4561c957f51f

牛到MSDN還是牛…言盡於此。
Bye
本篇文章回覆於2012-12-06 15:39
== 簽名檔 ==
--未登入的會員無法查看對方簽名檔--
   

回覆
如要回應,請先登入.