有没有简单的方法来克隆我的_context对象及其所有实体?

时间:2019-10-15 11:23:56

标签: c# mef2

我是新手,但我尝试指定我的问题。所以我有一个包含Context的大Articles。这些Articles有许多实体。因此,假设一个Article与许多表都有关系。一个Article具有Recipes,配料,Nutritions,并且食谱具有阶段和步骤...等等。现在,我需要复制所选文章的副本。但与一切有关。但是新的。因此,ArticleToCopy具有Recipe1,那么CopiedArticle应该具有Recipe1的副本,而不是与Recipe1的关系。抱歉,我的英语水平不是最好。

我尝试读取Article,并将Articles ID设置为0。 然后,它添加一个新的Article(带有来自原始Article的数据)...但是没有任何关系,例如RecipeIngredients等。

Article toCopyArticle = 
    _context
        .Articles
        .Include(a => a.ArticleCategories)
        .ThenInclude(ac => ac.Category)
        .AsNoTracking()
        .FirstOrDefault(a => a.articlesId == toCopyArticleId);

toCopyArticle.uid = generateUid();
toCopyArticle.articlesId = 0;
toCopyArticle.name = toCopyArticle.name + "Kopie";

_context.Articles.Add(toCopyArticle);
_context.SaveChanges();
return Ok();

然后添加一个新文章(带有原始文章中的数据)...但没有任何关系,例如食谱,配料等。

0 个答案:

没有答案