一、問題描述: 在測試EF併發處理時,涉及到StoreGeneratedPattern屬性的賦值問題,以及數據持久化失敗,看瞭如下2篇文章後,可以實現併發控制了, 針對“computed”類型的欄位:指的是創建和修改時都自動修改此屬性的值 不清楚的是採用ModelFirst方式,根據模型創建資料庫及... ...
一、問題描述:
在測試EF併發處理時,涉及到StoreGeneratedPattern屬性的賦值問題,以及數據持久化失敗,看瞭如下2篇文章後,可以實現併發控制了,
針對“computed”類型的欄位:指的是創建和修改時都自動修改此屬性的值
不清楚的是採用ModelFirst方式,根據模型創建資料庫及使用T4模板創建DBContext和實體對象後,保存的時候提示Null失敗, 目前的只會手動修改了EF創建的表結構中對應屬性的預設值設置 。
choon 【關於有預設值的欄位在用EF做插入操作時的思考】
田園裡的蟋蟀 【關於有預設值的欄位在用EF做插入操作時的思考(續)】
二、測試ModelFirst 方式
模型設計器如下:
使用模板自動創建的代碼:
namespace EFProject { using System; using System.Collections.Generic; public partial class UserAccout { public UserAccout() { this.AuditFileds = new AuditFields(); } public int Id { get; set; } public string FirstName { get; set; } public string LastName { get; set; } public System.DateTime Timestamp { get; set; } public AuditFields AuditFileds { get; set; } } }我使用的是最笨的方法:
最終的數據結構,修改了數據結構增加了預設值為:getDate(),則可以保存,否則報錯(如下圖)
有好的解決方案請指導!
修改表結構後,保存正常
數據結果:
鏈接: https://pan.baidu.com/s/1jHUH5Gy 密碼: pfxa