2010-11-02 8 views
0

Je suis un débutant dans Linq et C# et je vais avoir besoin d'aide. Les marques suivantes "_ __ _" doivent être remplis avec le bon mot de syntaxe. Le problème principal est que je ne peux pas trouver le dernier mot-clé entre owner.OwnerID et dog.OwnerID.Code de syntaxe Right Linq?

De votre point de vue, pensez-vous que je suis en utilisant le code droit SYNAX au lieu de "_ ___"?

List<Owner> ownerList; 
List<Dog> dogList; 

    public class Dog 
    { 
     public string Name { get; set; } 
     public int Age { get; set; } 
     public int OwnerID { get; set; } 
    } 

    public class Owner 
    { 
     public string Name { get; set; } 
     public int OwnerID { get; set; } 
    } 



var query2 = _____ owner in ownerList 
      _____ _____ dogList _____ 
owner._____ _________ dog._____ into x 
select new { a = owner, b = x}; 



var query2 = from owner in ownerList 
from dog in dogList where 
owner.OwnerID _________ dog.OwnerID into x 
select new { a = owner, b = x}; 
+2

Travail à domicile? si c'est le cas, veuillez mettre l'étiquette appropriée ... –

+0

Programmation "Fill-in-the-blank"! La meilleure façon d'apprendre, bien sûr. –

+0

Je l'ai déjà essayé et je reçois un message d'erreur à chaque fois. –

Répondre

0
var query2 = from owner in ownerList 
      join b in dogList on 
owner.OwnerId equals dog.OwnerId into x 
select new { a = owner, b = x}; 



var query2 = from owner in ownerList 
from dog in dogList where 
owner.OwnerID == dog.OwnerID into x 
select new { a = owner, b = x}; 

En fait, la 2ème on ne fait pas vraiment de sens, et ne compilera pas. Mais je ne peux pas penser à autre chose que == de mettre dans le vide ... Il pourrait être une erreur dans l'exercice

+1

sur une note de côté, pourquoi avons-nous besoin du 'into' ici? Cela ressemble à une jointure interne, pas à une jointure externe gauche. Ne pourriez-vous pas faire 'select new {a = owner, b = dog}'? – RPM1984

+0

Je pense que c'est une erreur dans l'exercice, «dans» ne correspond tout simplement pas ici (dans la 2ème requête) ... –

+0

convenu. juste vérifier. :) – RPM1984