У меня следующая проблема:
У меня есть 2 класса, которые я не хочу сначала использовать с кодом для создания базы данных.
public class Chart
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public State Initial { get; set; }
public virtual ICollection<State> States { get; set; }
}
и
public class State
{
[Key, DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public Guid Id { get; set; }
public string Name { get; set; }
}
Я также хочу, чтобы свойство Initial класса Chart указывало на его начальное состояние.
Но что бы я ни пытался, я не получу его на работу. Я использовал аннотации данных, свободные API и свойства Foreignkey, но продолжаю сталкиваться с такими проблемами, как:
"Невозможно определить действительный порядок для зависимых операций. Зависимости могут существовать из-за ограничений внешнего ключа, требований модели или созданных в хранилище значений."
Чтобы сделать это еще более интересным, я бы хотел, чтобы начальное состояние было одним из состояний класса диаграммы.
Может кто-нибудь помочь мне?
UPDATE:
Я нашел кусок головоломки:
Фреймворк кода сначала пытается создать 2 таблицы.
Графики: с колонками -> Id, Initial_Id
Состояния: с колонками -> Id, Name, Chart_Id
Chart.Initial_Id ссылается на таблицу States и State.Chart_Id ссылается на таблицу Charts. Теперь это приводит к циклической проблеме при каскадном удалении или вставке и т. Д ...
Хммм ...