ling to sql 怎样指定标识列

徒步-天下 2010-01-05 10:36:17


Student s = new Student();
{
s.Sname = "学生7";
s.Ssex = 1;
s.Sage = 23;
};
datacontext.Student.InsertOnSubmit(s);
datacontext.SubmitChanges();//报错:当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Student' 中的标识列插入显式值。


该怎样解决。谢谢,各位
...全文
80 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
gyl0519 2010-01-06
  • 打赏
  • 举报
回复
这个是因为数据库有一项是自动增长列,所以会报错。
把自动增长标识设置成否,就没事了。
你都在问为什么没有人帮忙,你为什么不会把错误关键字拿到google上去搜?

当 IDENTITY_INSERT 设置为 OFF 时,不能向表 中的标识列插入显式值

徒步-天下 2010-01-06
  • 打赏
  • 举报
回复
找了半天终于找到了,原来就是在生成的DataClasses.designer.cs指定下IsDbGenerated=true
[Column(Storage="_Sid", DbType="Int NOT NULL", IsDbGenerated=true, IsPrimaryKey=true)]

怎么就每个人帮忙的呢??
徒步-天下 2010-01-06
  • 打赏
  • 举报
回复
我不是想为标识列插入值,程序里我不赋值的话它会默认为0,怎样在程序里指定它为标识列呢?
我不是很懂linq to sql 请大家指教
  • 打赏
  • 举报
回复
set identity_insert tablename on
徒步-天下 2010-01-06
  • 打赏
  • 举报
回复
怎么没人呢?
徒步-天下 2010-01-05
  • 打赏
  • 举报
回复
我想应该是在程序里指定那个列为标识列,
徒步-天下 2010-01-05
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 zengzhan 的回复:]
例子:
SQL codesetidentity_insert tablenameoninsert tablename(id)select11select*from tablenamego--set identity_insert tablename offdroptable tablename/*
id
----
1
11*/
[/Quote]
谢谢,还是不行
qqzeng-ip 2010-01-05
  • 打赏
  • 举报
回复
例子:
set identity_insert  tablename on 
insert tablename(id) select 11
select * from tablename
go
--set identity_insert tablename off

drop table tablename

/*
id
----
1
11
*/
qqzeng-ip 2010-01-05
  • 打赏
  • 举报
回复
set identity_insert  tablename on 
徒步-天下 2010-01-05
  • 打赏
  • 举报
回复



Student s = new Student();
{
//sSid="11";其中Sid为主键,自增
s.Sname = "学生7";
s.Ssex = 1;
s.Sage = 23;
};
datacontext.Student.InsertOnSubmit(s);
datacontext.SubmitChanges();//报错:当 IDENTITY_INSERT 设置为 OFF 时,不能向表 'Student' 中的标识列插入显式值

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧