發表文章

LINQ 查詢練習

圖片
這是一個多對多關聯的資料表下,建立 Entity Framework 後採用 LINQ 查詢資料的範例。   資料關聯說明 建立 品料(MATERIAL) 與 形狀(MSHAPE) 兩個獨立資料表,單一種品料具有多種形狀的屬性,不同品料可對應相同的形狀。 在 PowerDesigner CDM 中設計兩個 Entity 並設定為多對多關聯,如下圖:     產生 PDM 後會發現有三個資料表,如下圖:   將資料結構與資料匯入資料庫中 ( SQL Script )   使用 Entity Framework 從資料庫建立模型,會發現與 CDM 的圖形類似   基本 LINQ 查詢 兩個基本 LINQ 的查詢練習: 針對單一品料,列出其已選取的形狀有幾種 ? 針對單一品料,列出其尚未選取的形狀有幾種 ? 參考作法 連結   其中 ProxyCreationEnabled 屬性會影響第一個查詢是否要下 Include("MSHAPE") 的指令 public List GetShapesWithLazyLoading(int materialId) { db.Configuration.ProxyCreationEnabled = true; var collection = db.MATERIAL.Find(materialId).MSHAPE; return new List (collection); } public List GetShapesWithoutLazyLoading(int materialId) { db.Configuration.ProxyCreationEnabled = false; var collection = db.MATERIAL.Include("MSHAPE") .FirstOrDefault(r=>r.ID==materialId).MSHAPE; return new List (collection); ...

Assigning Foreign Key names in Conceptual Model

圖片
PowerDesigner 設計 CDM ,當兩個主從關係資料表的 Primary Key 均指定為自動編號欄位 (名稱均為 ID),進一步建立關聯資料表時,又希望所產生的 Foreign Key 欄位為名稱:主資料表名稱 + ID,如上圖 WBS 資料表中的 PROJECT_ID。 要達成這結果,可以參考以下 Tip:

SQL Change Data Capture

圖片
重要資料表要做差異 Log 檔,可以不用手刻,有方便的作法。

the enu localization is not supported by this sql server media

圖片
  在一次安裝 SQL Server 2008 R2 過程中遇到上面的錯誤訊息 "The ENU localization is not supported by this SQL Server media." 經過多方查詢測試,找到其中一種解決方法,是調整本機上的 [地區及語言] 設定,符合安裝程式中的語言套件,即可進行安裝程序。    

SQL 2014 Express

圖片
SQL 2014 Express 中提供幾個套件 (LocalDB, Express, SSMS…), 筆記一下以最簡單的(視覺化)方式建立一個 SQL 2014 LocalDB,及使用 SSMS 連接 LocalDB 資料庫。

地端 SQL 同步至雲端 SQL Azure

圖片
SQL Azure 有提供各種情境的資料同步方式,雲端 與  雲端 或 雲端 與 本地端。而本地端 SQL Server 資料庫與 SQL Azure 進行同步,主要是透過本地端的工具程式 (SQL Azure Data Sync Agent Preview) 做媒介, 本文是說明安裝與設定細節。

VS DataBase Project

圖片
  Visual Studio 中約 2007 年就有提供資料庫專案,由於資料庫結構設計我都是依賴 Sybase PowerDesigner,所以一直不瞭解或說是找不到 VS 資料庫專案可以用在甚麼地方。不過近期由於調整開發工具與佈署流程時,卻發現它可以幫上不忙,本文是在我的工作環境中使用的情境。