C# Linq多行插入

C# Linq多行插入,c#,asp.net,linq-to-sql,C#,Asp.net,Linq To Sql,我在使用linq的多个插入行时遇到问题。 我有两张桌子 [订阅]表格 及 [消息]表 MessageID(int,isIdentity) 寄件人 接受者 内容 我想所有的用户名在Subcribe表,其中Subcribe到“岩石”类别 从我这里收到同样的信息。。 我的代码现在出错了 var subcribe = from s in database.Subscribes where s.SubscribeCategory == "Rock"

我在使用linq的多个插入行时遇到问题。 我有两张桌子

[订阅]表格

及 [消息]表

  • MessageID(int,isIdentity)
  • 寄件人
  • 接受者
  • 内容
我想所有的用户名在Subcribe表,其中Subcribe到“岩石”类别 从我这里收到同样的信息。。 我的代码现在出错了

    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();
有人能帮我回答这个问题吗? 谢谢你


关于..

我可以看出,您尚未在
消息
表中设置主键列,因此可能会出现以下错误:

无法对
表(消息)
执行创建、更新或删除操作,因为它没有主键


为此,您必须在
消息
表中添加一个主键,然后重构
数据类。dbml

您可以包含错误吗?@yuma错误是什么?frllow:@irsog这种情况不同;那张海报犯了一个错误,没有为每个迭代实例化一个新项目。你(在运行之后)得到了什么错误?