Ben*_*man 4 c# linq-to-entities entity-framework entity-framework-4
我的数据库中有很多关系.两个结束表是BlogPost和Item,中间的表是ItemBlogPost.我需要找回与特定项目相关的所有BlogPost.在SQL中,我会这样做:
SELECT BlogPost.*
FROM BlogPost
JOIN ItemBlogPost ON BlogPost.ID = ItemBlogPost.BlogPost_ID
WHERE ItemBlogPost.Item_ID = @Item_ID
Run Code Online (Sandbox Code Playgroud)
在C#中我有类似的东西:
IQueryable<BlogPost> itemBlogPosts = from b in connection.BlogPosts
where b.Items == item.ID
orderby b.Content.CreateDate descending
select b;
Run Code Online (Sandbox Code Playgroud)
但是,标记为b.Items的行没有给出Item属性的列表,并且没有b.ItemBlogPost来查看中间表.我也尝试过,b.Items.Contains(item)但也失败了.如何在LINQ to EF4中完成这项工作?
Lad*_*nka 22
那这个呢:
var itemBlogPosts = from i in connection.Items
from b in i.BlogPosts // I suppose you have a nav. property on Item
where i.Id == itemId
select b;
Run Code Online (Sandbox Code Playgroud)
同样的查询也可以通过以下方式定义:
var itemBlogPosts = connection.Items
.Where(i => i.Id == itemId)
.SelectMany(i => i.BlogPosts);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
6744 次 |
| 最近记录: |