日期:2014-05-18  浏览次数:20739 次

C# Linq
我在导数据的时候,因为目标表的主键列是自增长列,网上都提示用下面这个语句,但是不可以
this.targetDB.ExecuteStoreCommand("SET IDENTITY_INSERT dbo.账户类型 ON",null);



------解决方案--------------------
顶,看高手来指点...
------解决方案--------------------
"ExecuteStoreCommand"msdn给出的解释是:“利用现有连接对数据源直接执行任意命令”
ObjectContext.ExecuteStoreCommand 方法,希望对你有所帮助.
------解决方案--------------------
示例:context.ExecuteStoreCommand("DELETE FROM ContactPersonalInfo WHERE ContactID={0}",contactid);
ExecuteStoreCommand函数的参数是1:commandText(要用数据源的本机语言执行的命令(sql命令))
2:parameters(要传递给命令的参数数组)
------解决方案--------------------
导数据还是用 ADO.NET 直接操作吧。
------解决方案--------------------
跟踪测试一下吧,这样再将错误代码帖上来看看
------解决方案--------------------
SET IDENTITY_INSERT dbo.账户类型 ON这个是开启自增标识列的插入,如果你插入的值与数据库中的值冲突了反而会出错

插入的时候忽略自增长的列就行了,Insert语句中跳过那个字段就好了,数据库自己会插值的
数据量很大的话建议用SqlBulkCopy类
------解决方案--------------------
LZ能具体点吗? 没怎么看明白
------解决方案--------------------
lz我这有些资料 也许对你有帮助

点此进入