Объект должен иметь одну категорию (один-к-одному), цель имеет Действия, и у каждого из них должна быть одна Категория действий (один-к-одному) и много категорий ресурсов (один-ко-многим).Я не знаю, как настроить отображение.Также я не уверен, что мой дизайн правильный, как правильно управлять этим делом?
Резюме:
Мне нужно 3 отношения.
1) один-к-одному между Objective и Category в свойстве ObjectiveCategoryId в Objective.
2) один в один между ObjectiveAction и Category в свойстве ActionCategoryId в ObjectiveAction.
3) one-to-many между ObjectiveAction и Category в свойстве ObjectiveId категории.
![enter image description here](https://i.stack.imgur.com/qoMXs.jpg)
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;
}
}