我创建了映射到实体域模型中的实体的 POCO 域对象。直到现在我必须处理多对多关系时,一切都运行良好。
假设我有三张桌子。
- 博客
- BlogTag
- 标签
您可以看到 Blogs 和 Tags 是多对多的,带有一个桥表,BlogTag 包含两个表的外键。
我也有相应的领域模型:
- 博客
- BlogsTags
- 标签
现在,我选择了一个博客列表,并尝试从博客访问特定标签。
myBlog.BlogsTags[0].Tag
填写了 BlogTags[0].TagForeignKey,但是 BlogTags[0].Tag 为空!!
我也打开了 LazyLoading。
我可能做错了什么?
谢谢。
好的。这是一些源代码。
我的上下文类
public class MyContext : ObjectContext
{
public MyContext() : base(Utility.GetConnectionString(...), "containerName")
{
Blogs = CreateObjectSet<Blog>();
BlogsTags = CreateObjectSet<BlogTag>();
Tags = CreateObjectSet<Tags>();
base.ContextOptions.LazyLoadingEnabled = true;
}
public ObjectSet<Blog> Blogs { get; private set; }
public ObjectSet<BlogTag> BlogsTags { get; private set; }
public ObjectSet<Tags> Tags { get; private set; }
}
我的 poco 类只有一个带有 virtual 关键字的相关对象列表。