【问题标题】:SubSonic SQL CE ErrorSubSonic SQL CE 错误
【发布时间】:2010-01-22 10:06:08
【问题描述】:

我有一个旧的 c# 项目,目前在 SQL CE 数据库上运行。昨天我决定使用 SubSonic 为我生成 DAL,因为我在其他项目(带有标准的 MS SQL 数据库后端)中经常使用 SubSonic,我喜欢它的易用性。

一切似乎都很好,我可以创建和删除记录,但是一旦我使用 Save() 方法更新记录,就会引发错误:

例子:

Person person = new Person();
person.Name = "Robert";
person.Save();  // Works fine, record is saved

person.Name = "Robert - Updated";
person.Save();  // Fails with error below

“解析查询时出错。[令牌行号=1,令牌行偏移量=61,错误令牌=SELECT]”

当我通过创建新查询并将 QueryType 设置为更新来更新记录时,它似乎也按预期工作。

有什么想法吗?

谢谢

【问题讨论】:

  • 您使用的是哪个版本的 SubSonic?
  • 我尝试了 2.1 和 2.2 版本,因为 3.0 不支持 SQL CE

标签: subsonic


【解决方案1】:

尝试获取生成的 SQL 以查看执行的内容。

我的猜测是 SubSonic 使用 [] 转义列名或表名,这对于成熟的 SQL Server 来说很好,但它的 CE 对应项不支持。

【讨论】:

  • 我是否必须下载亚音速源并逐步通过它来获取 SQL 命令,还是有其他方法?
【解决方案2】:

我的猜测是 Subsonic 正在尝试在单个命令中执行多个 SQL 语句 - SQL Compact 不支持这一点

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2016-10-11
    • 1970-01-01
    • 1970-01-01
    • 2010-11-25
    • 1970-01-01
    • 2010-11-07
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多