0

テーブル名:Author

  • AuthorID -> 主キー
  • ファーストネーム
  • 苗字

テーブル名:Titles

  • ISBN -> 主キー
  • 書名
  • エディション番号
  • コピーライト

テーブル名:AuthorISBN

  • ISBN -> 外部キー
  • AuthorID -> 外部キー

できます:

var AuthorsAndISBNs =
            from author in database.Author
            join books in database.AuthorISBN
                on author.AuthorID equals books.AuthorID
            orderby author.LastName, author.FirstName
            select new { author.FirstName, author.LastName, books.ISBN };

ただし、次のことはできません。

var authorsAndTitles =
           from title in database.Titles
           from book in title.AuthorISBN
           let author = book.Author
           orderby author.LastName, author.FirstName, title.BookTitle
           select new { author.FirstName, author.LastName, title.BookTitle };

LINQ は外部キー リレーションシップに基づいてプロパティを自動的に作成するので、他のテーブルの関連する行に簡単にアクセスできると思いました:(

著者は、タイトルと「多対 1」の関係を持つ AuthorISBN と 1 対多の関係を持っています

助けてください!何日もこれにこだわっています:'( ありがとうございます!

4

1 に答える 1

1

Order for LINQでは、他のテーブルの関連する行にアクセスできます。すべてのテーブルにはPrimaryIDが必要です。問題は、「AuthorISBN」テーブルにprimaryIDがなかったため、プロパティが作成されていなかったことです:)

于 2012-09-20T20:25:17.780 に答える