0
에는 3 개의 클래스가 있습니다.모델에서 데이터베이스를 생성 할 때 다중성 오류가 발생합니까?
public class User
{
public Guid Id { get; set; }
public string Username { get; set; }
public string PersonelNumber { get; set; }
public string Password { get; set; }
public bool IsActive { get; set; }
public DateTime LastLoginDate { get; set; }
public bool IsOnline { get; set; }
}
public class Comment
{
public Guid Id { get; set; }
/// <summary>
/// Title of the comment
/// </summary>
public string Title { get; set; }
/// <summary>
/// Full text for comment
/// </summary>
public string Text { get; set; }
//Maps to the User Id
public Guid CreatedById { get; set; }
public virtual User CreatedBy { get; set; }
}
public class FileVersion
{
public Guid Id { get; set; }
public string Path { get; set; }
public int Version { get; set; }
//Referecne to optional comment
public virtual Guid ChangeCommentId { get; set; }
public virtual Comment ChangeComment { get; set; }
//Referece to user who added a file
public virtual Guid AddedById { get; set; }
public virtual User AdddedBy { get; set; }
//Reference to User who may have the file checked out
public virtual Guid CheckedOutById { get; set; }
public virtual User CheckedOutBy { get; set; }
}
데이터베이스가 FilVersion과 Comment 사이의 주석 관계를 만들려고 할 때 오류가 발생합니다. FileVersion 클래스에 대해이 매핑을 만들었습니다.
HasOptional(f => f.ChangeComment).WithMany().HasForeignKey(f => f.ChangeCommentId).WillCascadeOnDelete(false);
데이터베이스를 만들 때 다중도 오류가 발생하지 않도록 매핑을 설정하는 방법을 잘 모르겠습니다. FileVersion은 파일을 추가 한 사람과 편집을 위해 누가 체크 아웃했는지에 대한 레프리네이션이 필요합니다.
을 위해 필요한 것입니다 확실하지 않다. – DDiVita
생각해 봤어 : HasRequired (f => f.CheckedOutBy) .WithRequiredDependent(). WillCascadeOnDelete (false); – DDiVita
그리고 당신은 무엇을 가지고 있습니까? 그것은 아주 비슷해야합니다. –