2010-11-02 2 views
0

Я новичок в Linq и C#, и мне нужна помощь. Эти следующие знаки «_ __ _« необходимо заполнить правильным словом синтаксиса. Основная проблема заключается в том, что я не могу найти последнее ключевое слово между owner.OwnerID и dog.OwnerID.Правильный синтаксический код Linq?

С вашей точки зрения, как вы думаете, что я использую правильный synax код вместо «_ ___»?

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

Домашнее задание? если да, то поставьте соответствующий тег ... –

+0

Заполняйте программирование! Лучший способ узнать, конечно. –

+0

Я уже пробовал и получал сообщение об ошибке в любое время. –

ответ

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}; 

На самом деле второй один на самом деле не имеет никакого смысла, и не будет компилироваться. Но я не могу придумать ничего, кроме ==, чтобы положить в пустую ... Возможно, это ошибка в упражнении

+1

на боковой ноте, зачем нам здесь «в»? это похоже на внутреннее соединение, а не на левое внешнее соединение. не могли бы вы просто сделать 'select new {a = owner, b = dog}'? – RPM1984

+0

Я думаю, что это ошибка в упражнении, 'in' просто не подходит здесь (во втором запросе) ... –

+0

согласен. просто проверяю. :) – RPM1984

Смежные вопросы