Моя проблема в том, что я пытаюсь добавить дочернюю сущность, но продолжаю сталкиваться с проблемами.
Вот моя ситуация:
У меня есть куча профилей.
К каждому профилю прикреплена группа категорий-приоритетов.
К каждой Приоритету категории прикреплен один Приоритет атрибута.
Когда я обновляю свою модель в Visual Studio, я получаю следующее:
Я могу без проблем заставить работать следующее:
CategoryPriority _categoryPriority = new CategoryPriority();
Profile _profile = DB.GetProfile(ProfileID);
_profile.CategoryPriorities.Add(_categoryPriority);
DB.savechanges()
Но как-то не получится:
AttributePriority _attributePriority = new AttributePriority();
CategoryPriority _categoryPriority = new CategoryPriority();
_categoryPriority.AttributePriorities.Add(_attributePriority);
// Error! There is no option of "Add" or any other operation for the matter.
Profile _profile = DB.GetProfile(ProfileID);
_profile.CategoryPriorities.Add(_categoryPriority);
DB.savechanges()
Полагаю, это связано с тем, как настроена модель EF.
В идеале я хотел бы иметь один к одному между таблицами CategoryPriority и AttributePriority.
Я добавлю изображение моей модели.
Есть идеи?
Любая помощь высоко ценится!
Edit:
Я добавил изображения в свой пост.
Забавно, если я напишу:
Profile _p = new Profile();
Там тоже нет опции _p.Add
.. очевидно, я что-то упускаю ..
Редактировать 2:
Итак, я получил его на работу, почти ...
Я знаю, не самый эстетичный код, я работаю над этим ..
Profile _profile = this.GetProfile(this.GetUserID(arrangeattributesviewmodel.ProfileID));
int iter = 0;
foreach (AttributeListForCategory _category in arrangeattributesviewmodel.AllAttributesForCheckBoxList.CategoryAttributeList)
{
iter++;
CategoryPriority _categoryPriority = new CategoryPriority();
_categoryPriority.ProfileID = arrangeattributesviewmodel.ProfileID;
_categoryPriority.CategoryID = _category.CategoryID;
_categoryPriority.CategoryName = _category.CategoryName;
_categoryPriority.CategoryID = _category.CategoryID;
_categoryPriority.CategoryPriorityNR = iter;
AttributePriority _attributePriority = new AttributePriority();
_attributePriority.AttributePriorityString = _category.CompilePriorityString();
_categoryPriority.AttributePriority = _attributePriority;
_profile.CategoryPriorities.Add(_categoryPriority);
db.SaveChanges(); // It fails here with the message below..
}
{"Зависимое свойство в ReferentialConstraint отображается в столбец, созданный магазином. Столбец:« CategoryPriorityID ».»}
Есть идеи?
Изменить 3:
Решено!
Мне пришлось создать атрибут Приоритет в моей категории Приоритет ...