我正在尝试在SubSonic 3.0.0.3中添加一个布尔列,如果没有此列,代码工作正常,但只要我的模型中有bool变量,就会失败并出现以下错误:
在此上下文中不允许使用名称“False”。有效表达式是常量,常量表达式和(在某些上下文中)变量。不允许使用列名。
无论如何都知道这是否应该得到支持,以及我可能做错了什么:
数据对象类:
public class Desk
{
[SubSonicPrimaryKey]
public int DeskId { get; set; }
public string DeskName { get; set; }
public string SAPCode { get; set; }
public int LocationId { get; set; }
public bool Active { get; set; }
}
使用班级:
var d = new Desk();
d.DeskName = "Test";
d.SAPCode = "12345";
d.LocationId = 2;
d.Active = true;
var repository = new SimpleRepository("SubSonicTesting", SimpleRepositoryOptions.RunMigrations);
repository.Add(d);
答案 0 :(得分:0)
当我添加名为“IsAccountOwner”的bool属性时,我遇到了完全相同的问题(版本3.0.0.3)。问题似乎与迁移有关,因为当我删除表时,SubSonic使用添加的列正确地重新创建了它。
我正在使用SQL Server 2008 Express,以防万一。该错误可能与格式错误的查询有关吗?