У меня есть объект (EF) в DAL, созданный Entity Framework. Как использовать Entity (EF) и EntityDTO с контрактом (интерфейс)
public partial class User : IUser
{
public Guid Id { get; set; }
[Required]
[StringLength(20)]
public string Login { get; set; }
[Required]
[StringLength(25)]
public string Password { get; set; }
[Required]
[StringLength(50)]
public string Email { get; set; }
[StringLength(30)]
public string Lastname { get; set; }
[StringLength(30)]
public string Firstname { get; set; }
[StringLength(200)]
public string Avatar { get; set; }
public Guid? DepartmentId { get; set; }
public Guid? RoleId { get; set; }
public virtual Department Department { get; set; }
public virtual Role Role { get; set; }
}
Я создал UserDto в УСК
public class UserDto : IUser
{
public Guid Id { get; set; }
public string Login { get; set; }
public string Password { get; set; }
public string Email { get; set; }
public string Lastname { get; set; }
public string Firstname { get; set; }
public string Avatar { get; set; }
public DepartmentDto Department { get; set; }
public RoleDto Role { get; set; }
public Guid? DepartmentId { get; set; }
public Guid? RoleId { get; set; }
}
Для передачи данных между DAL и BLL Я использую контракт (интерфейс)
public interface IUser
{
Guid Id { get; set; }
string Login { get; set; }
string Password { get; set; }
string Email { get; set; }
string Lastname { get; set; }
string Firstname { get; set; }
string Avatar { get; set; }
}
Как в этом случае, для переноса полей навигации между DAL и BLL? Как это:
public virtual Department Department { get; set; }
public virtual Role Role { get; set; }
Как лучше сделать:
Удалить контракт (интерфейс) и передачи пользователя (EF) в УСК непосредственно или советом решение, чтобы решить эту проблему. Правильно ли удалить договор (интерфейс) с точки зрения архитектуры?