【发布时间】:2010-03-08 03:32:44
【问题描述】:
我创建了一个 SQL Server 紧凑型数据库 (MyDatabase.sdf),并在其中填充了一些数据。然后我运行 SQLMetal.exe 并生成了一个 linq to sql 类 (MyDatabase.mdf)
现在我尝试通过相对简单的选择从表中选择所有记录,但出现错误:
"解析查询时出错。[Token line number = 3,Token line offset = 67,Token in error = MAX]"
这是我的选择代码:
public IEnumerable<Item> ListItems()
{
MyDatabase db_m = new MyDatabase("c:\mydatabase.sdf");
return this.db_m.TestTable.Select(test => new Item()
{
ID = test.ID,
Name = test.Name,
RequestData = test.RequestData != null ? test.RequestData.ToString() : null,
Url = new System.Uri(test.Uri)
}.AsEnumerable();
}
我听说 Linq to SQL 可以与 Sql Compact 一起使用,我还需要做一些其他配置吗?
【问题讨论】:
-
您的代码被剪裁了 - 无法判断您要做什么。你能用完整的代码编辑吗?
-
@Rob Conery - 我添加了丢失的代码,但我认为这不是问题的一部分,因为我认为代码并不是得到的查询的一部分生成。
-
哦,等一下,我看到了问题……检查 test.Request != null 是否在查询中创建了一个 case 语句。我没有意识到它是如何工作的!
-
如何将该测试移出查询?