2010-01-22 74 views
0

我有一箇舊的C#項目,當前在SQL CE數據庫上運行。我昨天決定,我希望使用SubSonic爲我生成DAL,因爲我在其他項目(使用標準MS SQL數據庫後端)中使用了SubSonic很多,我喜歡它的易用性。SubSonic SQL CE錯誤

似乎一切都很好,我可以創建和刪除記錄,但只要我使用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 

「有一個[Token line number = 1,Token line offset = 61,Token in error = SELECT]「

當我通過創建新的Query並將QueryType設置爲Update來更新記錄時,它似乎也是按預期工作。

任何想法?

謝謝

+0

哪個亞音速的版本您使用的支持? – 2010-01-22 11:39:44

+0

我試過版本2.1和2.2,因爲3.0不支持SQL CE – 2010-01-22 12:52:12

回答

0

嘗試獲取生成的SQL以查看執行的內容。

我的猜測是SubSonic轉義列或表名與[],這對一個完整的SQL Server來說很好,但是它的CE對象不支持這個。

+0

我是否需要下載亞音速源並通過它來獲取SQL命令或者有其他方法嗎? – 2010-01-22 12:51:45

+0

你可以調用person.GetUpdateCommand() – 2010-01-24 14:05:05

0

我的猜測是亞音速正試圖在一個命令執行多個SQL statments - 這不是由SQL精簡