我現在有3個表:如何讓兩個連接生成一個選擇?
News
ID | Title
Tag
ID | Name
TaggedContent
ContentID | TagID
而且我有兩個上下文對象:NewsEntities
和TagsEntities
我想選擇的新聞所使用的所有標籤,在我的應用程序有:
static void Main(string[] args)
{
IEnumerable<dynamic> something = null;
IEnumerable<News.Data.News> news = null;
IEnumerable<Tags.Data.Tag> tags = null;
IEnumerable<TaggedContent> tagged = null;
using (var db = new NewsEntities())
{
news = db.News.ToList(); // 1 select
}
using (var db = new TagsEntities())
{
something = news.Join(db.TaggedContents.ToList(),
n => n.ID,
tc => tc.ContentID,
(n, tc) => new { tc.TagID }); // 1 select
something = something.Join(db.Tags.ToList(),
tid => tid.TagID,
t => t.ID,
(tid, t) => t); // 1 select
}
var result = something;
}
我目前正在生成3選擇。我怎樣才能減少到2?或者如果可能的話,我想減少到1,而不合並實體。
DataLoadOptions是Linq-To-Sql非實體框架的一部分。 – 2011-02-03 09:17:17