2012-06-23 7 views
0

linq가있는 다중 삽입 행에 문제가 있습니다. 나는 2 개 테이블 ,,이Linq 복수 행 삽입

[동의 표

enter image description here

및 [메시지 표

  • 의 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(); 

사람이 도울 수있는 오류를주고 싶어 질문? 덕분에 전에 ...

감사합니다 ..

+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을 리팩터링해야합니다.