Browse by Tags
All Tags
»
EF
(
RSS
)
ASP.NET MVC
Linq
ORACLE
Trouble-Shooting
閒聊:用 LINQ 還是自己寫 SQL?
前陣子在網路看到「該靠 EF(LINQ)還是自幹 SQL 語法(甚至一律轉成 SP)」 的討論,我的「個人偏好」挺明確-CRUD 可靠 EF/ORM 省工,複雜查詢或操作則走 Dapper 自己寫 SQL。不過它只算是「偏好」,其效益因客觀條件劇烈變動,若無視開發者背景、人力資源配置、系統需求等各種因素,無限期支持 OOO 一定比 XXX 好,肯定會在特定情境踩坑。既然沒有一體適用的「建議」,我就只從開發老人的角度聊聊決策理由及優劣分析,不陷入追求「最佳解」的迷思。(充其量只會有符合某種情境的「最適解...
為EF連線字串加密的簡單範例
依一般資安準則,在設定檔使用明碼儲存連線字串是不被允許的,連線字串加密是基本要求。 雖然用反組譯.NET組件破解加密字串不是什麼難事,但駭客至少得先找到檔案拿到組件檔(DLL)才能動手,相較之下明碼連線字串就簡單多了,用關鍵字掃掃硬碟、備份媒體就能抓出一大把,不費吹灰之力蒐集到資料庫帳號密碼,很可怕吧! ASP.NET 2.0起,web.config內建 connectionStrings加密功能 ,但它綁死機器,必須解決Web Farm機器間的同步,且只能透過aspnet_regiis工具程式操作...
EF日期欄位之JSON序列化時區問題
註:閱讀本文章前有個先修課程,需知道.NET DateTimeKind如何影響Json.NET序列化結果,不熟悉的同學可以看 補充教材 、 補充教材2 依先前研究心得:將JsonSerializerSettings指定DateTimeZoneHandling.Utc可以避免DateTimeKind.Local被轉成「yyyy-MM-ddTHH:mm:ss.fffffff+08:00」,統一採用「yyyy-MM-ddTHH:mm:ss.fffffffZ」UTC時間格式方便前端處理,但遇上DateTimeKind...
可彈性支援Transaction的EF資料異動方法
考慮以下DataHelper靜態型別,有AddWorkItem及AddDataGroup兩個方法透過Entity Framework新増資料: public class DataHelper { //使用統一的靜態函式建立DbContext物件,避免自行建構 public static BBDPEntities CreateDbContext() { //正式應用時,設定檔之連線字串應加密 //在此進行讀取設定並解密以建構DbContext,細節待日後介紹 return new BBDPEntities...
組裝動態LINQ條件的利器-LINQKit
昨天提到實務上查詢條件多半由使用者動態決定,往往得靠SqlQuery或Dapper配合 WHERE條件字串動態組裝 搞定。(提醒:SQL語法可以用串接的,使用者輸入內容務必使用參數嵌入)但如此就得放棄LINQ .Where()的強型別優點。介紹一個好物,讓你可以兩者兼顧- LINQKit 。 老樣子,用NuGet就可安裝,查詢關鍵字請填"LinqKit": 最新版的LINQKit需要EntityFramework 6.1.3以上,但依其運作原理,EF5應該也適用,等遇到再說。...
EF SaveChanges()未寫入Entity資料異動
Entity Framework等ORM技術讓更新資料表動作變得異常簡單。 在ADO.NET時代,若要更新Product資料表某一筆資料的兩個欄位,得先想好SQL指令建立SqlCommand,接著逐一新増SqlParameter @p1, @p2, @k1, @k2 並傳入各參數值,: var sql = "UPDATE Product SET Col1 = @p1, Col2 = @p2 WHERE ColPK = @k1 AND ColPK2 = @k2"; SqlCommand...
控制EF的Transaction範圍
被問到在EF環境要如何控制將某些DB操作包含在Transaction範圍內、將某些排除在外? 整理成簡單範例方便說明。 範例程式碼共有三段DB操作,第一段是寫入追蹤資訊到ActLog資料表、第二、三段則是各寫入一筆Player資料,為了模擬交易Rollback情境,故意讓兩筆Player的Primary Key相同。 using System; using System.Collections.Generic; using System.Linq; using System.Text; using...
Entity Framework 4的單複數自動識別功能
Entity Framework 4增加了一個新功能--Pluralization,在Entity Data Model Wizard中能偵測資料表名稱的單複數性質,以便在產生EF類別時貫徹"EntityObject名稱用單數,ObjectSet<EntityObject>名稱用複數"的原則。也說是說,如果資料庫有個資料表名稱是User,則個體類別名稱會是User,集合類別是Users;但如果資料表名稱本身已經是複數,例如: Fishes,一樣會個體類別名稱會用單數Fish...
Entity Framework Model物件之Json.NET還原問題
應用ASP.NET MVC時,透過ActionResult傳回Entity Framework資料物件的JSON格式,接收端試著用Json.NET解析卻發生錯誤! 研究發現,在ASP.NET MVC Action中以return JSON(someObject)方式傳回JSON字串時,會使用JavaScriptSerializer進行序列化。換句話說,問題出在"使用JavaScriptSerializer序列化Entity Framework資料物件,再以Json.NET反序列化還原"...
ODAC-在Entity Framework加入其他Schema的Table
得知Oracle推出正式版Entity Framework元件後,ODP.NET及System.Data.OracleClient就被我打入冷宮,專案需要存取Oracle時幾乎都改用EF處理。 今天遇到新狀況: 有個Oracle資料庫提供了讀取權限的專屬帳號(例如: NRMQRY),實際的資料表在另一個GB Schema中,但有GRANT SELECT權限。在專案新增了ADO.NET Entity Data Model、指定Oracle伺服器名稱、用NRMQRY帳號建好連線( 步驟參考 ),正準備要將資料表加入...
解開Entity Framework資料重複之謎
昨天研究 EF View Primary Key錯置問題 時留下一個謎--當View Primary Key不正確時,出現離譜的查詢結果: T001 FBI - Fox T001 FBI - Fox T002 Bloggers - Jeffrey T002 Bloggers - Jeffrey T002 Bloggers - Jeffrey T002 Bloggers - Jeffrey T003 Avengers - Captain America T003 Avengers - Captain...
Entity Framework的View Primary Key錯置疑雲
底下是一個重現問題的環境描述,細節頗多,我盡量長話短說。 假設在SQL Server上有三個Table,Player、Team及Membership,分別用來儲存人員、團隊及團隊成員隸屬關係,如下圖: 接著,我用Team LEFT JOIN Membership再LEFT JOIN Player的方式,產生一個View,用來產生團隊名稱與成員姓名的清單,如下圖: 接著,我們在Visual Studio 2010中新增一個ADO.NET Entity Data Model(.edmx),將Team...
【茶包射手日記】EF4 StoreGeneratedPattern設定無效
Entity Framework有個 Store Generated Pattern屬性 可因應新增資料庫欄位採自動跳號的需求。 今天測試時發現該設定不管用,新增至資料庫時持續傳回Primary Key重複錯誤,顯示設定未生效。爬文發現這是EF4的 Bug (原本預期已在VS2010 SP1修復,看來不然),目前知道的解決方法是在Solution Explorer的edml項目按右鍵View Code叫出edmx,直接修改SSDL XML,自己補上StoreGeneratedPattern Attribute...
搜尋
Go
<
March 2023
>
Sun
Mon
Tue
Wed
Thu
Fri
Sat
26
27
28
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
1
2
3
4
5
6
7
8
【廣告】
OrcsWeb: Windows Server Hosting
最新回應
2018-09-20 接手老專案的菜鳥
Windows 停用 TLS 1.0 之配套作業整理
黑大,謝謝您!
2018-09-20 Andy
KO範例6 - 陣列元素的新增/移除事件
Dear 黑暗大 感謝您,已成功將count後的數值寫入資料庫 利用您提供的方法...
2018-09-19 Jeffrey
KO範例6 - 陣列元素的新增/移除事件
to Andy, 如果你 ASP.NET 端是用 PostBack 方式取值,最簡單的做法是將...
2018-09-19 Andy
KO範例6 - 陣列元素的新增/移除事件
Dear 黑暗大 您好 我設計一個網頁,裡面有一些TextBox,其中還有如此範例的動態表格...
2018-09-18 Jeffrey
Windows 停用 TLS 1.0 之配套作業整理
to 接手老專案的菜鳥, support.microsoft.com/.../support...
2018-09-18 接手老專案的菜鳥
Windows 停用 TLS 1.0 之配套作業整理
黑大: 我有個系統是.NET 2.0開發的,如果安裝了.NET 4.5/或者4.6以及ADO...
2018-09-17 Jeffrey
CODE - WebClient 下載檔案自動取得檔名
to Slash, 感謝提醒,程式已修改強化。
2018-09-16 Slash
CODE - WebClient 下載檔案自動取得檔名
雖然與你分享這段小程式的目的不同,但還是要提醒Regex.Split這邊會有RFC5987的問題...
2018-09-06 打雜工程師
ASP.NET Core 值得學嗎?
黑大,我再跟BOSS討論看看,謝謝您^^
2018-09-03 Jeffrey
ASP.NET Core 值得學嗎?
to 打雜工程師, 1) 如果系統上線時程吃緊且不容閃失,用 ASP.NET MVC...
Tags 分類檢視
.NET
.NET Core
AJAX
Android
AngularJS
ASP.NET
ASP.NET MVC
ASP.NET保安
Autofac
Bicycle
C# 4.0
CODE
Coding4Fun
Collections
Community Server
Cordova
CSS
Dapper
Debug
EF
English
Entity Framework
Excel
Hangfire
Hiking
HTML5
IE
IIS
Java
Javascript
jQuery
JSON
KB
Kendo UI
knockoutjs
Life
Linq
Live SDK
Lucene.Net
Mobile
MSDTC
NLog
NuGet
Open XML
ORACLE
Performance
Reporting Service
RESTful Web Service
Security
Sharepoint
SignalR
Silverlight
Skype
SQL
SQL 2000
SQL 2005
SQL 2008
SQLite
T4
TechEd
Telerik MVC
TFS
ThinkPad
Tips
Tools
Trouble-Shooting
TypeScript
Unobtrusive Validation
VBScript
Virus
Vista
Visual Studio
VS Code
VS.NET 2003
VS2005
VS2008
VS2010
VS2012
VS2013
VS2015
VS2017
Vue
WCF
Web
Windows 10
Windows 2008
Windows 2012
Windows 7
Windows 8
Windows Phone
Work
WP7
WPF
中文編碼
慢跑
潛盾機
科學實驗
自動測試
閱讀筆記
風花雪月
關於作者
一個醉心技術又酷愛分享的Coding魔人,十年的IT職場生涯,寫過系統、管過專案, 也帶過團隊,最後還是無怨無悔地選擇了技術鑽研這條路,近年來則以做一個"
有為的中年人
"自許。
文章典藏
September 2018 (5)
August 2018 (12)
July 2018 (8)
June 2018 (6)
May 2018 (19)
April 2018 (14)
March 2018 (10)
February 2018 (10)
January 2018 (14)
December 2017 (22)
November 2017 (12)
October 2017 (16)
September 2017 (9)
August 2017 (13)
July 2017 (16)
June 2017 (17)
May 2017 (9)
April 2017 (13)
March 2017 (15)
February 2017 (14)
January 2017 (12)
December 2016 (8)
November 2016 (11)
October 2016 (15)
September 2016 (11)
August 2016 (19)
July 2016 (16)
June 2016 (14)
May 2016 (20)
April 2016 (13)
March 2016 (15)
February 2016 (11)
January 2016 (16)
December 2015 (12)
November 2015 (15)
October 2015 (14)
September 2015 (25)
August 2015 (16)
July 2015 (13)
June 2015 (11)
May 2015 (12)
April 2015 (15)
March 2015 (17)
February 2015 (9)
January 2015 (12)
December 2014 (12)
November 2014 (15)
October 2014 (12)
September 2014 (22)
August 2014 (16)
July 2014 (17)
June 2014 (18)
May 2014 (11)
April 2014 (10)
March 2014 (14)
February 2014 (14)
January 2014 (4)
December 2013 (12)
November 2013 (11)
October 2013 (13)
September 2013 (15)
August 2013 (12)
July 2013 (13)
June 2013 (16)
May 2013 (20)
April 2013 (22)
March 2013 (15)
February 2013 (9)
January 2013 (10)
December 2012 (14)
November 2012 (10)
October 2012 (12)
September 2012 (30)
August 2012 (16)
July 2012 (17)
June 2012 (18)
May 2012 (9)
April 2012 (15)
March 2012 (12)
February 2012 (8)
January 2012 (6)
December 2011 (9)
November 2011 (11)
October 2011 (15)
September 2011 (15)
August 2011 (18)
July 2011 (24)
June 2011 (31)
May 2011 (16)
April 2011 (13)
March 2011 (13)
February 2011 (11)
January 2011 (15)
December 2010 (18)
November 2010 (12)
October 2010 (10)
September 2010 (18)
August 2010 (19)
July 2010 (22)
June 2010 (20)
May 2010 (19)
April 2010 (19)
March 2010 (24)
February 2010 (14)
January 2010 (24)
December 2009 (13)
November 2009 (14)
October 2009 (27)
September 2009 (20)
August 2009 (18)
July 2009 (18)
June 2009 (22)
May 2009 (14)
April 2009 (19)
March 2009 (17)
February 2009 (25)
January 2009 (16)
December 2008 (23)
November 2008 (20)
October 2008 (19)
September 2008 (21)
August 2008 (10)
July 2008 (16)
June 2008 (20)
May 2008 (20)
April 2008 (21)
March 2008 (18)
February 2008 (9)
January 2008 (18)
December 2007 (20)
November 2007 (22)
October 2007 (20)
September 2007 (23)
August 2007 (22)
July 2007 (19)
June 2007 (27)
May 2007 (22)
April 2007 (23)
March 2007 (23)
February 2007 (17)
January 2007 (9)
December 2006 (12)
November 2006 (15)
October 2006 (7)
September 2006 (9)
August 2006 (16)
July 2006 (14)
June 2006 (12)
May 2006 (12)
April 2006 (9)
March 2006 (4)
February 2006 (7)
January 2006 (8)
October 2005 (1)
August 2005 (1)
July 2005 (1)
June 2005 (2)
February 2005 (2)
January 2005 (5)
February 2004 (2)
January 2004 (13)
其他功能
這個部落格
Home
Syndication
Comments RSS