【问题标题】:Linq to Sql Foreign key relationshipsLinq to Sql 外键关系
【发布时间】:2012-09-19 19:09:04
【问题描述】:

表名:Author

  • AuthorID -> 主键
  • 名字
  • 姓氏

表名:Titles

  • ISBN -> 主键
  • 书名
  • 版本号
  • 版权所有

表名:AuthorISBN

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

为什么下面的代码块不会触发智能感知,因为 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 };

【问题讨论】:

  • 表名 'Title' 或 'titles' ?

标签: sql linq foreign-keys intellisense relationship


【解决方案1】:

看来你打错了:

 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 而不是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 };

【讨论】:

  • 是的,在这种情况下,这是一个错字,但当您更改为正确的“标题”时没有任何区别,请注意:)
  • 您对“let author = title.AuthorISBN.Author”所说的话是有道理的,但是,智能感知不会在“。”之后显示 AuthorISBN,尽管我已经确认了外国-标题/作者表与 AuthorISBN 表中的列之间的关键关系 :(
  • 新的尝试,从不同的起点。我希望这是一个好的! :)
  • 新尝试也不起作用:(它无法识别 autISBN.Author 和 autISBN.Titles。我已附上我的 ORM 供您查看,可能关系中存在问题..
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2011-03-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2010-10-03
  • 2012-10-07
  • 1970-01-01
相关资源
最近更新 更多