Есть ли простой способ клонировать мой _context Object и все его объекты? - PullRequest
0 голосов
/ 15 октября 2019

Я новичок, но я пытаюсь указать свою проблему. Итак, у меня есть большой Context, содержащий Articles. Эти Articles имеют много сущностей. Итак, допустим, один Article имеет отношение ко многим таблицам. У одного Article есть Recipes, ингредиенты, Nutritions, также у рецептов есть фазы и шаги ... и так далее. Теперь мне нужно сделать копию на выбранной статье. Но со всем, что связано. Но новый. Таким образом, ArticleToCopy имеет Recipe1, тогда CopiedArticle должен иметь копию Recipe1, а не отношение к Recipe1. Извините, мой английский не самый лучший.

Я попытался прочитать мой Article, установите Articles ID в 0. Затем он добавляет новый Article (с данными из оригинального Article) ... но нет отношений, как Recipe, Ingredients и так далее.

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();

Затем добавляется новая статья (с данными из оригинальной статьи) ... но нет отношений, таких как рецепт, ингредиенты и т. Д.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...