Комплексное Ef Core Mapping / Отношения - PullRequest
0 голосов
/ 13 июня 2019

Объект должен иметь одну категорию (один-к-одному), цель имеет Действия, и у каждого из них должна быть одна Категория действий (один-к-одному) и много категорий ресурсов (один-ко-многим).Я не знаю, как настроить отображение.Также я не уверен, что мой дизайн правильный, как правильно управлять этим делом?

Резюме:

Мне нужно 3 отношения.

1) один-к-одному между Objective и Category в свойстве ObjectiveCategoryId в Objective.

2) один в один между ObjectiveAction и Category в свойстве ActionCategoryId в ObjectiveAction.

3) one-to-many между ObjectiveAction и Category в свойстве ObjectiveId категории.

enter image description here

    public class Category {
        public int Id { get; set; }
        public string Name { get; set; }
    }

    public class Objective {
        private ICollection<DevelopmentObjectiveAction> _actions;

        public int Id { get; set; }
        public string Name { get; set; }

        public int ObjectiveCategoryId { get; set; }
        public Category ObjectiveCategory { get; set; }

        public ICollection<ObjectiveAction> Actions {
            get => _actions ?? (_actions = new List<ObjectiveAction> ());
            set => _actions = value;
        }
    }

    public class ObjectiveAction {
        private ICollection<Category> _resourceCategories;

        public int Id { get; set; }
        public string Name { get; set; }

        public long ObjectiveId { get; set; }
        public long Objective { get; set; }

        public int ActionCategoryId { get; set; }
        public Category ActionCategory { get; set; }

        public ICollection<Category> ResourceCategories {
            get => _resourceCategories ?? (_resourceCategories = new List<Category> ());
            set => _resourceCategories = value;
        }
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...