【问题标题】:SQL CE in WP7 Mango - Datatype mapping from SQL Server 2008WP7 Mango 中的 SQL CE - 来自 SQL Server 2008 的数据类型映射
【发布时间】:2011-10-27 06:54:33
【问题描述】:

我找到了关于在 .NET 中 sql server 2008 和 sql ce 3.5 之间映射数据类型的建议的 msdn 文档。这实际上显示了一个颜色编码的矩阵。 很遗憾,我现在找不到它的链接。

但是,该文档建议使用 VARCHAR(MAX) / NVARCHAR(MAX) 和 DATETIME2,这样当 .NET 将它们转换为字符串和 DateTime 时,它​​们会更好地匹配 数据类型限制。据说(MAX)会转换成(4000)。

但是当我尝试使用它们在 DataContext 中定义 ColumnAttribute 时,使用 (MAX) 和 DATETIME2 时会出现编译和运行时错误。所以,我恢复到 (1000) 和 DATETIME。

现在这个关于“Differences Between SQL Server Compact and SQL Server”的文档告诉我们 SQL CE 3.5 和 2008 都支持 DATETIME2。

当我尝试搜索“sql ce 3.5 与 wp7 的兼容性”时,我没有得到任何有用的文档。

是否有任何帮助文档详细说明 SQL CE 3.5 for WP7 中允许的数据类型以及它们如何映射到 SQL Server 2008 数据类型?

【问题讨论】:

    标签: database linq windows-phone-7 sql-server-ce sqldatatypes


    【解决方案1】:

    我自己一直在寻找这个并遇到了这个页面: http://msdn.microsoft.com/en-us/library/ms172424(SQL.110).aspx

    看起来 WP7 使用 SQL CE 4.0,我们需要坚持使用 datetime 和 ntext。

    编辑:我在此页面上找到了上面的链接:http://msdn.microsoft.com/en-us/library/hh202872(v=VS.92).aspx

    【讨论】:

    • 其实WP7使用的是SQL Server Compact 3.5
    • 我也是这么想的,但是 msdn 文档中的链接(我帖子中的底部链接)指向 4.0 中的数据类型 - 再加上不支持 datetime2 的事实使得它看起来只支持 4.0 类型。
    • 3.5和4.0的类型是一样的!
    • 好的,找到了这个链接,现在我明白了 - datetime2 被映射到一个 nvarchar(27) 值(在我找到这个之前,我对实际的类型映射很困惑):msdn.microsoft.com/en-us/library/ms171931(v=SQL.100).aspx
    【解决方案2】:

    我相信您要访问的页面是this one。无论您使用什么平台,SQL CE 3.5 都是一样的,因此问题的“WP7”部分无关紧要。

    【讨论】:

    • 我要找的不是这个。那个有一个显示映射的彩色矩阵。无论如何,此文档表明 DateTime2 在 SQL CE 3.5 SP1 中可用。当我遇到运行时错误时,我想 WP7.1 没有 CE 3.5 的 SP1。对吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    • 1970-01-01
    • 2010-12-04
    • 1970-01-01
    • 2012-10-20
    • 1970-01-01
    相关资源
    最近更新 更多