Linq to Sql外键关系 [英] Linq to Sql Foreign key relationships
问题描述
表名:作者
- AuthorID - >主键
- 名字
- 姓氏
- ISBN - >主键
- BookTitle
$ b表格名称:
- 版本号
- CopyRight
- ISBN - >外键
- AuthorID - >外键
表名:<$ c
$ b
AuthorISBN
下面的代码块怎么没有触发intellisense,因为Linq-to-SQL自动创建基于外键关系的属性?在我的情况下,它不... ...
错误:
title.AuthorISBN
这个名称不存在于当前的上下文中,不是让我添加一张照片,而是Author与AuthorISBN的一对多关系,标题也与AuthorISBN具有一对多关系
代码:
BooksDataContext数据库= 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
选择新的{author.FirstName,author.LastName,title.BookTitle};
好像你犯了一个错字:
var authorsAndTitles =
from database 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 tilte.AuthorISBN?我用**包围了这个词。
除此之外,我会试试这个:
var authorsAndTitles =
from database in database.Titles
let author = title.AuthorISBN.Author
orderby author.LastName,aurthor.FirstName,title.BookTitle
选择新的{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};
Table name: Author
- AuthorID -> primary key
- FirstName
- LastName
Table name: Titles
- ISBN -> primary key
- BookTitle
- EditionNumber
- CopyRight
Table name: AuthorISBN
- ISBN -> foreign key
- AuthorID -> foreign key
How come the below code block below does not trigger the intellisense, since Linq-to-SQL automatically creates properties based on foreign-key relationship? In my case it doesn't...
ERROR:
The name title does not exist in current context in title.AuthorISBN
It's not letting me add a photo, but 'Author' has 'one-to-many' relationship with AuthorISBN, and 'Titles' also has 'one-to-many' relationship with AuthorISBN
Code:
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 };
It seems like you made a typo:
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 };
Shouldn't it be title.AuthorISBN insteand of tilte.AuthorISBN? I surrounded the word with **.
Besides that, I would try this:
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 };
New attempt:
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 };
这篇关于Linq to Sql外键关系的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!