我想在SQL Server CE 3.5中使用datetime2类型来存储DateTime值。如何使我的EF4实体在SQL Server CE 3.5中使用datetime2类型?
如果这是可能的,我将如何更改我的实体数据模型?我试过手动编辑它,并且Visual Studio在之后拒绝在设计器中显示它。
我想在SQL Server CE 3.5中使用datetime2类型来存储DateTime值。如何使我的EF4实体在SQL Server CE 3.5中使用datetime2类型?
如果这是可能的,我将如何更改我的实体数据模型?我试过手动编辑它,并且Visual Studio在之后拒绝在设计器中显示它。
DATETIME2不存在,则SQL Server精简,为了节省DATETIME2值,必须在一个nvarchar的保存形式(27)值 'YYYY-MM-DD HH:MM:ss.nnnnnnn' (见http://msdn.microsoft.com/en-us/library/ms171931.aspx)
如果你关心数据库的大小(特别是如果你有这个领域的索引),你可以使用不同的方法。
保持在数据库中的两个字段日期时间(对于YYYY-MM-DD HH:MM:SS)和SMALLINT(对于毫秒)。在UI中显示之前加入它们以获取适当的DateTime。
在这些领域中的这种情况下,大小为10个字节(根据this source,8个字节为SMALLINT日期时间的 + 2字节)。 nvarchar(27)的大小是54个字节。
它有两个字段更有意义:datetime(对于YYYY-MM-DD hh:mm:ss)和int(对于毫秒)?你可以在UI中加入它们,但是这样的结构体积更小,索引更小。 – 2013-04-11 22:55:47
是的,也许它,上面的格式可以很容易地转换回服务器上的datatime2,这是不容易的,如果它是分割.. – ErikEJ 2013-04-12 06:37:14