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

Entity Framework 預設值 Bug 解決方法

     編輯:關於ASP.NET

使用 .NET 3.5 Entity Framework 開發網站時發現:新增記錄時,DateTime 型別欄位無法使用資料庫預設值。

情境

Users 表三欄位:

  • id:int,自增主鍵
  • username:nvarchar(10),不允許 null
  • createtime:DateTime,不允許 null,預設值 getdate()

使用 EF 產生實體類別,新增資料不指定 createtime:

using (LinqDemoEntities lde = new LinqDemoEntities())
{
    Users user = new Users { name = "Admin" };
    lde.AddToUsers(user);
    lde.SaveChanges(); // 此處拋出錯誤
}

解決方法

在 .edmx 檔案中,將 createtime 欄位加上 StoreGeneratedPattern="Identity" 屬性,即可使用資料庫預設值。

此為 EF 已知 Bug,設定該屬性後可正常運作。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved