Я набрал этот упрощенный пример без использования 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?
Любой вариант создает серьезную проблему с тем, как разработано мое приложение. Я игнорировал настойчивость, пока не закончил реализацию всех функций, ошибка, которую я больше не повторю :-(