我从包含默认列值的现有数据库生成了我的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,这是默认值。
我的问题:
- 我可以设置我的实体的方式,他们将使用数据库的默认列值?
- 如果不是我怎样才能在代码中设置默认值?
- 解决此问题的最佳方法是什么?