Linq to Sql外键关系

时间:2012-09-19 19:09:05

标签: sql linq foreign-keys intellisense relationship

表名:Author

  • AuthorID - >主键
  • 名字

表名:Titles

  • ISBN - >主键
  • BOOKTITLE
  • EditionNumber
  • 版权

表名:AuthorISBN

  • ISBN - >外键
  • AuthorID - >外键

下面的代码块如何不触发intellisense,因为Linq-to-SQL会根据外键关系自动创建属性?在我的情况下它不...

错误:

  

title.AuthorISBN

中当前上下文中不存在名称标题      

这不是让我添加照片,但是“作者”与AuthorISBN有“一对多”关系,“标题”与AuthorISBN有“一对多”的关系

代码:

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

1 个答案:

答案 0 :(得分:0)

好像你写了一个拼写错误:

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

不应该是title.AuthorISBN insteand of tilte.AuthorISBN?我用**包围了这个词。

除此之外,我会尝试这个:

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

新尝试:

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