1

我正在尝试将旧的 SQL Server 数据库(在 Entity Framework 4 中创建)迁移到 SQL CE 4。我已经移动了所有内容,重新创建了架构并将数据插入到SDF文件中,但是现在当我尝试启动我的网站时,我收到此错误:

The ntext and image data types cannot be used in WHERE, HAVING, GROUP BY, ON, or IN clauses, except when these data types are used with the LIKE or IS NULL predicates.

我访问了几个链接,它们都链接到 Microsoft 修补程序,该修补程序适用于 SQL CE 3.5。我正在运行 SQL CE 4,但找不到任何相关内容。

更新:我为代码优先方法找到了一些可能的解决方案,但我的数据库是模型优先的。

4

1 回答 1

1

我刚刚遇到了 Entity Framework 和 SQL CE 的这个问题。它无法生成按图像列过滤结果的动态 SQL 语句。

对我来说,这段代码失败了(令牌类型为 byte[]):

var dataStore = new DataStore();
var document = dataStore.Documents.SingleOrDefault(d => d.Token == token);

我让它工作的简单方法是首先将文档加载到内存中的列表中,然后再过滤它。这对我来说很好,因为列表永远不会很大。

var dataStore = new DataStore();
var documents = dataStore.Documents.ToList();
var document = documents.SingleOrDefault(d => d.Token.SequenceEqual(token));
于 2013-06-19T08:53:58.833 回答