因为查询无法同时更新聚集键和 text、ntext 或 image 列
我的数据库有 
 CREATE   TABLE   [dbo].[NewsArticle]   ( 
 	[ArticleID]   [uniqueidentifier]   NOT   NULL   , 
 	[Title]   [nvarchar]   (100)   COLLATE   Chinese_PRC_CI_AS   NOT   NULL   , 
 	[Content]   [ntext]   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	[Keywords]   [nvarchar]   (255)   COLLATE   Chinese_PRC_CI_AS   NULL   , 
 	[CreatorID]   [uniqueidentifier]   NOT   NULL   , 
 	[CreateTime]   [datetime]   NOT   NULL   , 
 )   ON   [PRIMARY]   TEXTIMAGE_ON   [PRIMARY] 
 GO   
 我产生一个强实体DataSet,但是这个数据适配器的Update语句中,   
                                     this._adapter.UpdateCommand.CommandText   =    "UPDATE   [dbo].[NewsArticle]   SET   [ArticleID]   =   @ArticleID,   [Title]   =   @Title,   [Content]   =   @Content,   [Keywords]   =   @Keywords,   [CreatorID]   =   @CreatorID,   [CreateTime]   =   @CreateTime   WHERE   (([ArticleID]   =   @Original_ArticleID)   AND   ([Title]   =   @Original_Title)      AND   ((@IsNull_Keywords   =   1   AND   [Keywords]   IS   NULL)   OR   ([Keywords]   =   @Original_Keywords))   AND   ([CreatorID]   =   @Original_CreatorID)   AND   ([CreateTime]   =   @Original_CreateTime)   ; 
 SELECT   ArticleID,   Title,   Content,   Keywords,   CreatorID,   CreateTime   FROM   NewsArticle   WHERE   (ArticleID   =   @ArticleID) ";     
 在调用时,会产生一个异常: 
 因为查询无法同时更新聚集键和   text、ntext   或   image   列。   
 但是这个语句又是自动生成的,我又不好改。 
 请问大家有什么好的解决方法。
------解决方案--------------------那手写 SQL 来分步更新吧 
 呵呵
------解决方案--------------------要不试试多写几句SQL 
 SQL 来分步更新
------解决方案--------------------你将聚焦索引取消试试看,还有这样的异常吗?
------解决方案-------------------- "SET [ArticleID] = @ArticleID,... "把主键更新去掉就好了。
------解决方案--------------------含有类似无法在查询中看到的列最好的还是调用Adapter.UpdateDataSet