Asp.net Linq查询,选择内部查询进入列表?
我正在写一个linq查询来选择一篇博客文章Asp.net Linq查询,选择内部查询进入列表?,asp.net,linq,linq-to-sql,Asp.net,Linq,Linq To Sql,我正在写一个linq查询来选择一篇博客文章 from data in dataContext.Blog_BlogPosts join tagsData in dataContext.Blog_TagToPostConnections on data.BlogPostID equals tagsData.BlogPostID where data.Slug == "asp-programmering" select new BlogPost
from data in dataContext.Blog_BlogPosts
join tagsData in dataContext.Blog_TagToPostConnections on data.BlogPostID equals tagsData.BlogPostID
where data.Slug == "asp-programmering"
select new BlogPost
{
Title = data.Title,
Slug = data.Slug,
Author = data.Author,
Text = data.Text,
Tags = (from tags in dataContext.Blog_Tags where tags.TagID == tagsData.TagID select new Tag { TagID = tags.TagID, TagName = tags.Tag }).ToList()
};
blogpost类如下所示(用于测试它)
公共类BlogPost
{
公共字符串Slug{get;set;}
公共字符串标题{get;set;}
公共字符串文本{get;set;}
公共字符串作者{get;set;}
发布的公共日期时间{get;set;}
公共列表标记{get;set;}
}
我正在测试的博客帖子附带了3个标签。表格结构为:
(table)BlogPost->(table)BlogPostTags这是因为您在外部表达式中加入了
Blog\u TagToPostConnections
。由于有三个匹配的标记,因此联接将生成三个结果项。将联接移动到指定给标记的表达式中(这是要弹出三个内容的地方)
这是因为您在外部表达式中加入了Blog\u TagToPostConnections
。由于有三个匹配的标记,因此联接将生成三个结果项。将联接移动到指定给标记的表达式中(这是要弹出三个内容的地方)
public class BlogPost
{
public string Slug { get; set; }
public string Title { get; set; }
public string Text { get; set; }
public string Author { get; set; }
public DateTime Published { get; set; }
public List<Tag> Tags { get; set; }
}
from data in dataContext.Blog_BlogPosts
where data.Slug == "asp-programmering"
select new BlogPost
{
Title = data.Title,
Slug = data.Slug,
Author = data.Author,
Text = data.Text,
Tags = (from tags in dataContext.Blog_Tags
join tagsData in dataContext.Blog_TagToPostConnections
on tags.TagID equals tagsData.TagID
where data.BlogPostID == tagsData.BlogPostID
select new Tag { TagID = tags.TagID, TagName = tags.Tag }
).ToList()
};