Typ dynamiczny, a zapytania LINQ

0
var result =
                from Book in books
                join Grade in grade
                on Book.Grade_ID equals Grade.ID
                where Book.Number > 0
                select new { Book, Grade };

Chciałbym wykonać ten blok kodu w metodzie, która zwracałaby mi result, ponieważ używam go kilka razy i nie ma sensu powielać. Jednak nie umiem jawnie określić typu wiec znalazłem taki typ jak dynamic. Wszystko szło ładnie dopóki nie przekonałem się, że nie mogę wykonywać zapytań LINQ z klauzulą "where" na result. Będę wdzięczny za wskazówki, jak określić typ, tak abym mógł wykonywać dowolne zapytania LINQ na result, lub jakiś inny sposób na umieszczenie bloku kodu tak, aby nie powielać go w aplikacji.

0

zdefiniuj strukturę:

struct BookWithGrade
{
    public Book book;
    public Grade grade;
    // przyda się konstruktor
}

i zwracaj select new BookWithGrade

0
var result =
                from x in books
                join y in grade
                on x.Grade_ID equals y.ID
                where x.Number > 0
                select new BookWithGrade(x, y);
public struct BookWithGrade
        {
            public Book book;
            public Grade grade;

            public BookWithGrade(Book book, Grade grade)
            {
                this.book = book;
                this.grade = grade;
            }

Dzięki, struktura ładnie działa. Teraz tylko nie do końca wiem co wpisać w kodzie XAML jako Binding Path,tak aby wypełnić DataGrid (używam WPF).
np. dla nazwy wpisuję BookWithGrade.x.Name, efektu nie ma.

1 użytkowników online, w tym zalogowanych: 0, gości: 1