我從包含默認列值的現有數據庫生成了我的EDMX。我也有用T4模板生成的POCO對象。實體框架4中默認的SQL Server列值POCO
現在我遇到的情況,我想創建一個POCO並將其保存到這樣的數據庫:
dim tablePocoEntityInstance as New tablePocoEntity
context.MsSQLTable.AddObject(tablePocoEntityInstance)
context.SaveChanges()
這是工作的罰款與在SQL Server數據庫中設置默認值的例外。
例如:
SQL Server表
id (int, not null, auto increament)
magicNR (int, not null, defaultValue = 11)
生成POCO對象有那麼兩個屬性:
Partial Public Class tablePocoEntity
Public Overridable Property id As Integer
Public Overridable Property magicNR As Integer
...
問題是,magicNR
不能爲空並獲得隱式初始化。當我保存對象時,id
是應該的,但magicNR
的值爲0而不是11,這是默認值。
我的問題:
- 我可以設置我的實體的方式,他們將使用數據庫的默認列值?
- 如果不是我怎樣才能在代碼中設置默認值?
- 解決此問題的最佳方法是什麼?