5

У меня возникли проблемы при сохранении в базе данных модели с небольшими сложными отношениями.EF отношение один-на-два

UML-классов является: enter image description here

Определение классов являются:

public abstract class EntityBase 
{ 
    public virtual Guid Id { get; set; } 
} 

public class LoanRequest : EntityBase 
{ 
    [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid Id { get; set; } 

    public virtual Applicant Applicant1 { get; set; } 
    public virtual Applicant Applicant2 { get; set; } 
} 

public class Applicant 
{ 
    [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid Id { get; set; } 

    public Guid LoanRequestId { get; set; } 
    [ForeignKey("LoanRequestId")] 
    public virtual LoanRequest LoanRequest { get; set; } 

    public virtual ICollection<MonthlyIncome> Incomes { get; set; } 
} 

public class MonthlyIncome 
{ 
    [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid Id { get; set; } 

    public Guid ApplicantId { get; set; } 
    [ForeignKey("ApplicantId")] 
    public virtual Applicant Applicant { get; set; }  
} 

Я могу запустить миграцию и глядя в базу данных таблиц и столбцов, созданную рамках Кажется прекрасным для меня. Но при сохранении исключения происходит. Исключением является:

Невозможно определить действительный заказ на зависимые операции. Зависимости могут существовать из-за ограничений внешнего ключа, требований к модели или сохраненных значений

Я искал решение в Интернете, и я не вижу, где моя проблема. Какие-либо предложения? Благодаря!

+0

Что вы пытаетесь сохранить? И как выглядит метод сохранения? – janhartmann

ответ

2

После нескольких попыток я смог найти решение. Изменение определения заявителя на:

public class Applicant 
{ 
    [Key,DatabaseGenerated(DatabaseGeneratedOption.Identity)] 
    public Guid Id { get; set; } 

    public virtual ICollection<MonthlyIncome> Incomes { get; set; } 
} 

все, что мне нужно

Смежные вопросы