2013-12-13 76 views
0

具有映射在類似性質的「日期時間」列此「public System.DateTime DATAOPER { get; set; }實體框架的映射不插入我使用<code>Entity Framework 6</code>來映射表毫秒

這是代碼第一映射:

this.Property(p => p.DATAOPER).HasColumnName("DATAOPER").HasColumnType("datetime").IsRequired(); 

我設置porperty與DateTime.Now,但產生的INSERT的說法是:

INSERT [dbo].[Tworkdom]([DATAOPER]) VALUES (@0) 

parameter name: @0  parameter value: '13/12/2013 12:55:29' 

它失去毫秒Informa公司灰。我想要一個'13/12/2013 12:55:29.999'例如

回答

1

這只是一個顯示問題。如果我創建一個表有兩個日期列,其中一個DateTime爲(數據庫)數據類型和一個與DateTime2,我看到這個插入語句:

INSERT [dbo].[Users]([Inserted2], [Inserted]) 
VALUES (@0, @1) 
... 
-- @0: '13-12-2013 21:25:56' (Type = DateTime2) 
-- @1: '13-12-2013 21:25:56' (Type = DateTime2) 

然而,在數據庫中的值是:

Id   Inserted2     Inserted 
----------- --------------------------- ----------------------- 
1   2013-12-13 21:25:56.5023312 2013-12-13 21:25:56.503 
+1

它應該是'(Type = DateTime)'第二個參數,對吧? –

+0

@PeterHansen不,這就是它所說的(也讓我感到驚訝)。 –

+1

好的。不知道。 [這篇文章](http://stackoverflow.com/questions/14246426/why-does-ef5-code-first-use-datetime2-when-inserting-a-nullable-datetime-into-th)解釋了爲什麼,以防萬一你有興趣。 –