LINQ TO SQL和触发器的问题

Craftsman 2009-08-08 09:33:07
如下代码:
//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触发器也触发了,结果出现这样的错误。
不知道这个问题怎么解决,请赐教,谢谢。。。
...全文
376 7 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
yezie 2009-08-12
  • 打赏
  • 举报
回复
触发器和linq无关的。。。
yezie 2009-08-12
  • 打赏
  • 举报
回复
触发器和linq无关的。。。
yezie 2009-08-12
  • 打赏
  • 举报
回复
触发器和linq无关的。。。
zjm3257028 2009-08-12
  • 打赏
  • 举报
回复
徐诶下
Craftsman 2009-08-09
  • 打赏
  • 举报
回复
不是数据库的问题,是linq to sql的问题。网上找了些老外的资料,似乎是linq to sql的天生不足。
wuyq11 2009-08-08
  • 打赏
  • 举报
回复
数据库设置问题。主要是主键问题
  • 打赏
  • 举报
回复
解决你的数据库问题去,跟Linq无关。

8,493

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 LINQ
社区管理员
  • LINQ
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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