LINQ TO SQL和触发器的问题.
如下代码:
//Ticket实例
Ticket tk = new Ticket();
//新增
if (Request.QueryString["operate"] == "add")
{
tk.Ticket_Barcode = nodeTrans_Barcode.InnerText;
tk.Ticket_DelFlag = false;
}
//修改
if (Request.QueryString["operate"] == "edit")
{
var serial = Request.QueryString["serial"];
var tks = from t in db.Tickets
where t.Ticket_Serial == int.Parse(serial)
select t;
tk = tks.First();
}
//会务票务登录
tk.Ticket_DateTime = nodeTrans_Datetime.InnerText.Replace("-", "") + nodeTrans_Hour.InnerText + nodeTrans_Minute.InnerText;
tk.Ticket_From = nodeTrans_From.InnerText;
tk.Ticket_IsPaid = true;
tk.Ticket_Memo = nodeTrans_Memo.InnerText;
tk.Ticket_Seat = int.Parse(nodeTrans_Seat.InnerText);
tk.Ticket_To = nodeTrans_To.InnerText;
tk.Ticket_Transport = int.Parse(nodeTrans.InnerText);
tk.Ticket_Quantity = short.Parse(nodeTrans_Count.InnerText);
tk.Ticket_Money = decimal.Parse(nodeTrans_Money1.InnerText);
if (nodeTrans_Paid.InnerText == "1")
tk.Ticket_IsPaid = true;
else
tk.Ticket_IsPaid = false;
if (Request.QueryString["operate"] == "add")
db.Tickets.InsertOnSubmit(tk);
db.SubmitChanges();
在SubmitChanges的时候报“成员 AutoSync 失败。对于要在插入后自动同步的成员,类型必须具有自动生成的标识或在插入后未被数据库修改的键。”,数据库中的Tickets表有一个insert触发器,这个insert触发器update另外一个叫Registrant的表,然后Registrant表也有一个update的触发器,我感觉是Ticket的insert触发器update那个Registrant后,Registrant表的update触发器也触发了,结果出现这样的错误。
不知道这个问题怎么解决,请赐教,谢谢。。。
------解决方案--------------------解决你的数据库问题去,跟Linq无关。
------解决方案--------------------数据库设置问题。主要是主键问题
------解决方案--------------------徐诶下
------解决方案--------------------触发器和linq无关的。。。