2012-06-23 3 views
0

У меня возникли проблемы с несколькими строками вставки с linq. У меня есть 2 таблицы ,,Linq Множественная вставка строки

[Подписаться] Таблица

enter image description here

и [сообщение] Таблица

  • MessageID (интермедиат, isIdentity)
  • Sender
  • приемник
  • Содержание

я хочу, чтобы все UserName в 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(); 

может кто-нибудь помочь с этим запрос? спасибо перед ..

С уважением ..

+5

Можете ли вы включить ошибку, пожалуйста? –

+1

@yuma Какая ошибка? – freebird

+0

frlllow: http://stackoverflow.com/questions/854971/how-to-insert-multiple-rows-in-a-foreach-command-with-linq – KF2

ответ

2

Я вижу, что вы не установили столбец первичного ключа в таблице Message так что может быть шанс, что вы получаете эту ошибку:

Can't perform Create, Update or Delete operations on Table(Message) because it has no primary key.

Для этого вы должны добавить первичный ключ в таблицу Message, а затем реорганизовать DataClasses.dbml.