2009-09-22 6 views
4

Voici mon codeLinq à Entities-- Havine un Guid dans la clause where jette erreur

var bms = from b in context.bookmark 
        join q in context.question1Set on b.bookmark_id equals q.question_id 
        join u in context.userinfo on b.bookmark_ownerid equals u.user_userid 
        where b.bookmark_ownerid == new Guid(userid.ToString()) && q.question_isdeleted == false //i think it dosent't like the new Guid 
        select new 
        { 
         u.user_username, 
         q.question_title 
        }; 

     foreach (var bm in bms) 
     { 
      question q = new question(); 
      q.Username = bm.user_username; 
      q.Title = bm.user_username; 
      ql.Add(q); 
     } 

L'erreur que je reçois est: Seuls les constructeurs et initialiseurs sont sans paramètre pris en charge dans LINQ to Entities

Je n'ai aucune idée de comment résoudre ce problème. Des idées?

+1

message d'erreur est assez évident. :) –

Répondre

10

construire le Guid avant que vous faites la requête:

Guid userGuid = new Guid(userid.ToString()); // What type is userid anyway? 

var bms = 
    from b in context.bookmark 
    join q in context.question1Set on b.bookmark_id equals q.question_id 
    join u in context.userinfo on b.bookmark_ownerid equals u.user_userid 
    where b.bookmark_ownerid == userGuid && !q.question_isdeleted 
    select new 
    { 
     u.user_username, 
     q.question_title 
    }; 
Questions connexes