Ntext和图像数据类型不能在WHERE,HAVING,GROUP BY,ON或IN子句中使用

时间:2011-03-27 20:13:50

标签: sql-server-ce

我收到错误:

  

ntext和图像数据类型不能   用于WHERE,HAVING,GROUP BY,   ON或IN子句,除非这些   数据类型与LIKE或使用   尝试时是IS NULL谓词   将更改保存到SQLCE表。

请注意这是一项更新操作。

我安装了SQLCE版本3.5.1.0。

下面是错误消息和堆栈跟踪,代码为:

  

System.Data.SqlServerCe.SqlCeException   未处理的消息= ntext和   图像数据类型不能用于   在哪里,HAVING,GROUP BY,ON或IN   条款,除非这些数据类型   与LIKE或IS NULL一起使用   谓词。 Source = SQL Server   紧凑的ADO.NET数据提供者
  的HResult = -2147217900
  NativeError = 25923
  堆栈跟踪:
  在System.Data.SqlServerCe.SqlCeCommand.CompileQueryPlan()
  在System.Data.SqlServerCe.SqlCeCommand.ExecuteCommand(CommandBehavior   行为,String方法,   ResultSetOptions选项)
  在System.Data.SqlServerCe.SqlCeCommand.ExecuteNonQuery()
  在System.Data.Linq.SqlClient.SqlProvider.Execute(表达式   查询,QueryInfo queryInfo,   IObjectReaderFactory工厂,对象[]   parentArgs,Object [] userArgs,   ICompiledSubQuery [] subQueries,Object   的lastResult)
  在System.Data.Linq.SqlClient.SqlProvider.ExecuteAll(Expression   query,QueryInfo [] queryInfos,   IObjectReaderFactory工厂,对象[]   userArguments,ICompiledSubQuery []   子查询)
  在System.Data.Linq.SqlClient.SqlProvider.System.Data.Linq.Provider.IProvider.Execute(Expression   查询)
  at System.Data.Linq.ChangeDirector.StandardChangeDirector.DynamicUpdate(TrackedObject   项目)
  在System.Data.Linq.ChangeDirector.StandardChangeDirector.Update(TrackedObject   项目)
  在System.Data.Linq.ChangeProcessor.SubmitChanges(ConflictMode   failureMode)
  在System.Data.Linq.DataContext.SubmitChanges(ConflictMode   failureMode)

导致错误的代码:

var storedBug = DataContext.Bug_Tables.Where(b => b.Id.Equals(bugToSave.Id)).FirstOrDefaul(); 

storedBug.Name = bugToSave.Name;
storedBug.DeveloperId = bugToSave.Developer == null ? null : bugToSave.Developer.Id; 
storedBug.TesterId = bugToSave.Tester == null ? null : bugToSave.Tester.Id; 
storedBug.AssignedPersonId = bugToSave.AssignedPerson == null ? null : bugToSave.AssignedPerson.Id; 
storedBug.BugAreaId = bugToSave.BugArea.Id;
storedBug.BugStatusId = bugToSave.Status.Id;
storedBug.PriorityId = bugToSave.Priority == null ? null : bugToSave.Priority.Id; 
storedBug.Description = bugToSave.Description;
storedBug.Notes = bugToSave.Notes;
storedBug.Replication = bugToSave.Replication;
storedBug.FixedInBuild = bugToSave.FixInBuild;

DataContext.SubmitChanges();

1 个答案:

答案 0 :(得分:3)