Linq多行插入

时间:2012-06-23 07:21:22

标签: c# asp.net linq-to-sql

我遇到了linq多个插入行的问题。 我有2张桌子,

[订阅]表

enter image description here

和 [消息]表

  • MessageID(int,isIdentity)
  • 汇款人
  • 接收机
  • 内容

我希望Subcribe表中的所有UserName都订阅“Rock”类别 从我这里收到一条相同的消息.. 我的代码现在出错了

    var subcribe = from s in database.Subscribes
                   where s.SubscribeCategory == "Rock"
                   select s.UserName;


    foreach (string s in subcribe)
    {
        Message msg = new Message();
        msg.MsgContent = "Text Here";
        msg.Sender = this.User.Identity.Name;
        msg.Receiver = s;
        database.Messages.InsertOnSubmit(msg);
    }
    database.SubmitChanges();

任何人都可以帮助这个查询吗? 谢谢你..

此致..

1 个答案:

答案 0 :(得分:2)

我可以看到您没有在Message表中设置主键列,因此可能会出现此错误:

  

无法对Table(Message)执行创建,更新或删除操作,因为它没有主键。

为此,您必须在Message表中添加主键,然后重构DataClasses.dbml