Asp.net MVC3应用程序数据访问。可以说我有3张桌子;文章,类别和作者。变化的关系,以简化在MVC3与实体框架
创建 Category.CategoryId之间的关系 - > Article.CategoryId和Author.AuthorId - > Article.AuthorId 使用代码第一导航性能
public virtual Category Category { get; set; }
public virtual Author Author { get; set; }
这意味着,当我查看文章的列表我必须:
return View(db.Article
.Include(c=>c.Category)
.Include(a=>a.Author)
.ToList());
为了访问类别和作者的名字,而不只是它们的ID的
打破这个经典模式而不是创建这些表之间的关系会伤害多少?然后,我可以从ViewModel中的作者和类别表返回SelectLists,并直接使用相应的名称而不是id来填充我的Article表中的Category和Author字段,并且还保持数据完整性。 我的查询是只简化为:
return View(db.Article.ToList());
我想我将不得不为那些领域,以加快搜索索引。
这是能在别处做或者是完全错误的? 它有更好或更差的表现吗?
其相反的,如果标记字段作为虚拟您可以使用延迟加载 – 2013-04-05 10:14:56
是,你能延迟加载虚拟对象使用包括命令和不包含命令的虚拟对象将不会加载。 – Rabolf 2013-04-05 12:10:40