SubSonic SQL CE错误

时间:2010-01-22 10:06:08

标签: subsonic

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

一切似乎都很好,我可以创建和删除记录但是只要我使用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设置为Update来更新记录时,它似乎也按预期工作。

有什么想法吗?

由于

2 个答案:

答案 0 :(得分:0)

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

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

答案 1 :(得分:0)

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