Я набрал этот упрощенный пример без использования IDE, так что простите за любые синтаксические ошибки. Когда я пытаюсь автоматизировать это, я получаю FluentConfigurationException, когда я пытаюсь скомпилировать сопоставления -
"Ассоциация ссылок не нанесенного на карту класса
IEmployee
".
Я полагаю, что если бы я решил эту проблему, я бы получил аналогичную ошибку, когда он встречает ссылку на IEmployer
. Я не против создания ClassMap вручную, но я предпочитаю делать это в AutoMapper.
public interface IEmployer
{
int Id{ get; set; }
IList<IEmployee> Employees { get; set; }
}
public class Employer: IEmployer
{
public int Id{ get; set; }
public IList<IEmployer> Employees { get; set; }
public Employer()
{
Employees = new List<IEmployee>();
}
}
public interface IEmployee
{
int Id { get; set; }
IEmployer Employer { get; set; }
}
public class Employee: IEmployee
{
public int Id { get; set;}
public IEmployer Employer { get; set;}
public Employee(IEmployer employer)
{
Employer = employer;
}
}
Я пытался использовать .IncludeBase<IEmployee>()
, но безрезультатно. Он действует так, как будто я никогда не вызывал IncludeBase.
Является ли единственным решением либо не использовать интерфейсы в сущностях моего домена, либо использовать заданную вручную ClassMap?
Любой из этих вариантов создает значительную проблему с тем, как спроектировано мое приложение. Я игнорировал постоянство до тех пор, пока не завершил реализацию всех функций, и я больше не буду повторять эту ошибку: - (