使用实体框架更新/添加导航属性

时间:2015-05-13 21:02:00

标签: entity-framework

我正在使用Repository和Unit of Work Pattern与Entity Framework 6。

我的实体(模型类)具有以下关系:

                            Article 
     ______________ __________|__________ _______________
    |              |                     |               |
   Tags         Images     References   Authors        Reviewers

每当创建Article时,数据都会插入到所有表格中(即ArticleTagsImagesReferences,{{1} }和AuthorsReviewers与其他子表之间存在一对多的关系。Article方法将传递一个Add对象,看起来像以下内容:

Article

将此添加到数据库很简单,我按以下方式执行:

public class Article 
{
   public int articleId {get;set;}
   ICollection Tags {get;set;}
   Icollection Images {get;set;}
   ICollection Authors {get;set;}
   ICollection Reviewers {get;set;}
}

对于更新,我没有得到这样做的最佳方法。用户可以使用修改后的导航属性传递文章的对象和/或添加更多。 例如现有的审稿人可以修改,也可以添加更多。

我在每个导航属性中都有复合键(例如public void Add (Article arc) { this.context.Article.Add(arc); } TagsTagId)。

请提出一些方法

0 个答案:

没有答案