您好我有一個Customer表。表中的一列是DateCreated
。此列爲NOT NULL
,但默認值是在db中爲此列定義的。實體框架爲NOT NULL列生成值,其中默認定義了db
當我使用我的代碼中的EF4添加新的Customer
。
var customer = new Customer();
customer.CustomerName = "Hello";
customer.Email = "[email protected]";
// Watch out commented out.
//customer.DateCreated = DateTime.Now;
context.AddToCustomers(customer);
context.SaveChanges();
上面的代碼生成以下查詢。
exec sp_executesql N'insert [dbo].[Customers]([CustomerName],
[Email], [Phone], [DateCreated], [DateUpdated])
values (@0, @1, null, @2, null)
select [CustomerId]
from [dbo].[Customers]
where @@ROWCOUNT > 0 and [CustomerId] = scope_identity()
',N'@0 varchar(100),@1 varchar(100),@2 datetime2(7)
',@0='Hello',@1='[email protected]',@2='0001-01-01 00:00:00'
,並拋出以下錯誤
The conversion of a datetime2 data type to a datetime data type resulted in an out-of-range value.
The statement has been terminated.
能否請你告訴我怎麼列NOT NULL,其在數據庫級別都有默認值不應該由EF生成的值?
DB:
DateCreated DATETIME NOT NULL
dateCreated會性質EF:
- 可空:假
- 的getter/setter:公共
- 類型:日期時間
- 默認值:無
感謝。
哪些dateCreated會現場的在VS的EF編輯器的屬性? – 2011-03-17 15:44:26
請在末尾看到我的編輯 – Kashif 2011-03-17 16:02:06