【发布时间】:2011-08-26 08:32:48
【问题描述】:
每当我尝试通过表单向该数据库提交数据时都会引发此异常:-
-
例外
当 IDENTITY_INSERT 设置为 OFF 时,无法为表“ClientDetails”中的标识列插入显式值。
但是,表单没有字段,因此数据可以输入身份列 (PK),所以我不知道为什么会发生这种情况。
目前我正在使用标准的 asp.net mvc 提交按钮,但我最终会将它链接到一个 jquery 对话框按钮
异常所指的列的ClientNo列具有以下属性
- 名称 - ClientNo
- 类型 - 整数
- NULLS - 否
- 身份规范 - 是
- 是身份 - 是
- 增量 - 1
- 种子 - 1
ClientNo 有 900 以后的数据等
当客户端表单没有输入数据时也会抛出此异常
它在 DataCONtext.SubmitChanges() 方法上抛出
[AcceptVerbs(HttpVerbs.Post)]
public ActionResult Create1(ClientDetail client)
{
if(ModelState.IsValid)
{
client = new ClientDetail();
UpdateModel(client);
//Debug Code
System.Diagnostics.Debug.WriteLine("AddNewClient Create1");
repo.AddNewClient(client);
//Debug Code
System.Diagnostics.Debug.WriteLine("Save Create1");
// System.Data.SqlClient.SqlException thrown at this line
repo.Save();
//Debug Code - never reached
System.Diagnostics.Debug.WriteLine("Saved Changes");
// return RedirectToAction("Details", new { id = client.ClientNo });
}
return View(client);
}
public void AddNewClient(ClientDetail client)
{
System.Diagnostics.Debug.WriteLine("Start Insert On Submit");
db.ClientDetails.InsertOnSubmit(client);
System.Diagnostics.Debug.WriteLine("Finish Insert On Submit");
}
public void Save()
{
System.Diagnostics.Debug.WriteLine("In Save Method");
db.GetChangeSet();
System.Diagnostics.Debug.WriteLine("Got ChangeSet");
db.SubmitChanges();
System.Diagnostics.Debug.WriteLine("Exit Save Method");
}
Is this the query everyone is talking about
[Column(Storage="_ClientNo", DbType="Int NOT NULL", IsPrimaryKey=true, UpdateCheck=UpdateCheck.Never)]
public int ClientNo
{
get
{
return this._ClientNo;
}
set
{
if ((this._ClientNo != value))
{
this.OnClientNoChanging(value);
this.SendPropertyChanging();
this._ClientNo = value;
this.SendPropertyChanged("ClientNo");
this.OnClientNoChanged();
}
}
}
有没有人知道为什么会发生这种情况的解决方案或原因?
谢谢
【问题讨论】:
-
如何向数据库“提交”数据?
-
当您想向种子列添加值并且 identity_insert 关闭时会生成此错误。那么如何将数据保存到数据库中呢?
-
如果你能发布查询就好了。
-
@Abdul Muq - 使用从 linq 到 Sql 类的 SubmitChanges 方法
-
我似乎无法正确处理代码块,但 Linq-Sql 中的查询是
标签: c# asp.net sql linq-to-sql asp.net-mvc-2