Linq to SQL和SQL Server Compact Error:"解析查询时出错."

Jer*_*emy 0 sql-server-ce linq-to-sql

我创建了一个SQL服务器压缩数据库(MyDatabase.sdf),并用一些数据填充它.然后我运行SQLMetal.exe并生成一个linq到sql类(MyDatabase.mdf)

现在我试图从一个表中选择相对简单的选择的所有记录,我得到错误:

"解析查询时出错.[令牌行号= 3,令牌行偏移= 67,令牌错误= 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();
}
Run Code Online (Sandbox Code Playgroud)

我已经读过Linq to SQL与Sql Compact一起工作,我还需要做一些其他的配置吗?

Eri*_*ric 5

它可能是一个错误的NVARCHAR(MAX)吗?我认为我之前在sql compact edition中看到过这样的错误,并且我记得它与sql compact edition不支持NVARCHAR(MAX)数据类型这一事实有关.这也可能是您在异常中看到"令牌错误= MAX"消息的原因?