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