從零開始建立本地資料庫、設計資料表結構、新增測試資料,到設定連線字串,完整掌握 MVC 應用程式資料庫整合流程。
Visual Web Developer 內建免費的 SQL Server Compact,適合開發與小型部署:
Movies.sdf → 加入資料庫檔案將自動建立於 App_Data/Movies.sdf。
雙擊 App_Data/Movies.sdf 開啟 Database Explorer。
| 欄位名稱 | 資料類型 | 允許 Null | 說明 |
|---|---|---|---|
| ID | int | 否 | 主鍵,身分識別欄位 |
| Title | nvarchar(100) | 否 | 電影片名 |
| Director | nvarchar(100) | 否 | 導演姓名 |
| Date | datetime | 否 | 上映日期 |
ID 欄位 → 右鍵 → 設定主鍵
儲存時命名為 MovieDBs(複數形式)。
MovieDBs(複數),對應模型類別 MovieDB(單數)。這是 Entity Framework Code First 的預設對應慣例。
Movies.sdf 開啟 Database ExplorerMovieDBs 資料表右鍵 → 顯示資料表資料| ID | Title | Director | Date |
|---|---|---|---|
| 1 | Psycho | Alfred Hitchcock | 1960-01-01 |
| 2 | La Dolce Vita | Federico Fellini | 1960-01-01 |
在 <connectionStrings> 區段加入:
<add name="MovieDBContext"
connectionString="Data Source=|DataDirectory|Movies.sdf"
providerName="System.Data.SqlServerCe.4.0" />
| 屬性 | 值 | 說明 |
|---|---|---|
| name | MovieDBContext | 必須與 DbContext 類別名稱一致 |
| connectionString | Data Source=|DataDirectory|Movies.sdf | |DataDirectory| 解析為 App_Data 資料夾 |
| providerName | System.Data.SqlServerCe.4.0 | SQL Server Compact 4.0 提供者 |
| 問題 | 原因 | 解決方案 |
|---|---|---|
| 找不到 SQL Server Compact 選項 | 未安裝 Compact 版本 | 下載安裝 SQL Server Compact 4.0 |
| 資料庫連線失敗 | 連線字串名稱不符 | 確認 name="MovieDBContext" 與 Context 類別名一致 |
| 部署至 IIS 失敗 | 缺少 Compact DLL | 參考部署教學複製 Private 資料夾 DLL 至 bin |
| 中文資料亂碼 | 編碼設定問題 | 使用 nvarchar、確認資料庫建立時編碼 |
Seed 方法自動建立初始資料