首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> .NET 網頁程式設計 >> ASP.NET 基礎 >> ASP.NET 基礎

ASP.NET MVC 資料庫建立與連線完整教學:SQL Server Compact 從建表到連線字串設定

     編輯:ASP.NET 基礎

ASP.NET MVC 資料庫整合實戰:SQL Server Compact 完整指南


從零開始建立本地資料庫、設計資料表結構、新增測試資料,到設定連線字串,完整掌握 MVC 應用程式資料庫整合流程。


建立 SQL Server Compact 資料庫

Visual Web Developer 內建免費的 SQL Server Compact,適合開發與小型部署:

建立步驟

  1. 方案總管 → App_Data 右鍵 → 加入 → 新增項目
  2. 選擇 SQL Server Compact Local Database
  3. 命名為 Movies.sdf → 加入
注意: 若選項中找不到 SQL Server Compact,請先安裝 SQL Server Compact。

資料庫檔案將自動建立於 App_Data/Movies.sdf。

設計 MovieDBs 資料表結構

開啟資料庫總管

雙擊 App_Data/Movies.sdf 開啟 Database Explorer。

建立資料表

  1. Tables 右鍵 → 建立資料表
  2. 依下表定義欄位:
欄位名稱資料類型允許 Null說明
IDint否主鍵,身分識別欄位
Titlenvarchar(100)否電影片名
Directornvarchar(100)否導演姓名
Datedatetime否上映日期

設定主鍵與自動遞增

  1. 點選 ID 欄位 → 右鍵 → 設定主鍵
  2. 在 欄位屬性 視窗將 Identity 設為 True

主鍵與 Identity 設定

儲存資料表

儲存時命名為 MovieDBs(複數形式)。

慣例說明: 資料表命名為 MovieDBs(複數),對應模型類別 MovieDB(單數)。這是 Entity Framework Code First 的預設對應慣例。

新增測試資料

  1. 雙擊 Movies.sdf 開啟 Database Explorer
  2. MovieDBs 資料表右鍵 → 顯示資料表資料
  3. 輸入測試記錄(ID 為 Identity 欄位,自動遞增,無需手動輸入):
IDTitleDirectorDate
1PsychoAlfred Hitchcock1960-01-01
2La Dolce VitaFederico Fellini1960-01-01

設定 Web.config 連線字串

在 <connectionStrings> 區段加入:

<add name="MovieDBContext"
     connectionString="Data Source=|DataDirectory|Movies.sdf"
     providerName="System.Data.SqlServerCe.4.0" />

連線字串解析

屬性值說明
nameMovieDBContext必須與 DbContext 類別名稱一致
connectionStringData Source=|DataDirectory|Movies.sdf|DataDirectory| 解析為 App_Data 資料夾
providerNameSystem.Data.SqlServerCe.4.0SQL Server Compact 4.0 提供者

常見問題排除

問題原因解決方案
找不到 SQL Server Compact 選項未安裝 Compact 版本下載安裝 SQL Server Compact 4.0
資料庫連線失敗連線字串名稱不符確認 name="MovieDBContext" 與 Context 類別名一致
部署至 IIS 失敗缺少 Compact DLL參考部署教學複製 Private 資料夾 DLL 至 bin
中文資料亂碼編碼設定問題使用 nvarchar、確認資料庫建立時編碼

後續發展建議

  • 生產環境:考慮遷移至 SQL Server Express / LocalDB / Azure SQL
  • 遷移機制:啟用 Code First Migrations 管理結構變更
  • 種子資料:使用 Seed 方法自動建立初始資料
  • 連線池:生產環境調整連線字串啟用連線池優化效能
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved