如何使我的 EF4 实体在 SQL Server CE 3.5 中使用 datetime2 类型?
我想在 SQL Server CE 3.5 中使用 datetime2 类型存储 DateTime 值。
如果这是可能的,我将如何更改我的实体数据模型?我尝试手动编辑它,但 Visual Studio 之后拒绝在设计器中显示它。
I would like to store DateTime values using the datetime2 type in SQL Server CE 3.5.
If this is possible, how would I change my entity data model? I've tried editing it manually and Visual Studio refuses to show it in the designer afterwards.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
在 SQL Server Compact 中,datetime2 不存在,为了保存 datetime2 值,必须保存在“YYYY-MM-DD hh:mm:ss.nnnnnnn”形式的 nvarchar(27) 值中
(请参阅http://msdn.microsoft.com/en-us/library/ms171931 .aspx)
datetime2 does not exist is SQL Server Compact, in order to save datetime2 values, you must save in a nvarchar(27) value of the form 'YYYY-MM-DD hh:mm:ss.nnnnnnn'
(see http://msdn.microsoft.com/en-us/library/ms171931.aspx)
如果您关心数据库的大小(特别是如果您在该字段上有索引),则可以使用不同的方法。
在数据库中保留两个字段datetime(表示YYYY-MM-DD hh:mm:ss)和smallint(表示毫秒< /em>)。并加入它们以在 UI 中显示之前获取正确的日期时间。
在这种情况下,这些字段的大小将为 10 个字节(根据 this源,8 字节 日期时间 + 2 字节(对于smallint)。 nvarchar(27) 的大小为 54 字节。
If you take care about size of your database (especially if you've got indexes on this field), you can use a different approach.
Keep in the database two fields datetime (for YYYY-MM-DD hh:mm:ss) and smallint (for milliseconds). And join them to get a proper DateTime before displaying in UI.
In this case size of these fields will be 10 bytes (according to this source, 8 bytes of datetime + 2 bytes for smallint). Size of nvarchar(27) is 54 bytes.