SQL CE 4错误:ntext和图像数据类型不能在WHERE,HAVING,GROUP BY,ON或IN子句中使用

时间:2012-12-14 12:33:38

标签: entity-framework sql-server-ce sql-server-ce-4

我正在尝试将旧的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,但找不到任何相关内容。

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

1 个答案:

答案 0 :(得分: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));