Ich habe die folgenden zwei Klassen, die von Entity Framework Karte:AutoMapper Verwendung zu Entity Framework-Klassen Business-Klassen
public partial class Person
{
public int id { get; set; }
public string namen { get; set; }
public int house { get; set; }
[IgnoreMap]
public virtual House House1 { get; set; }
}
public partial class House
{
public House()
{
this.Persons = new HashSet<Person>();
}
public int id { get; set; }
public string street { get; set; }
public string city { get; set; }
public ICollection<Person> Persons { get; set; }
}
Dann habe ich auch diese beiden ähnliche Klassen in meinem Business Layer:
public class House
{
public House()
{
this.Persons = new HashSet<Person>();
}
public int id { get; set; }
public string street { get; set; }
public string city { get; set; }
public virtual ICollection<Person> Persons { get; set; }
}
public class Person
{
public int id { get; set; }
public string namen { get; set; }
public int house { get; set; }
}
Ziemlich ähnlich, hugh? In meiner Business-Schicht lese ich eine Liste von Häusern aus der Datenbank. Dann Karte ich die ganze Liste in eine Liste meiner Business-Haus-Klasse AutoMapper:
public List<elci.BusinessEntities.House> getHouses()
{
YardEntities cx = new YardEntities();
Mapper.Initialize(cfg => cfg.CreateMap<DataAccessLayer.House, BusinessEntities.House>());
List<DataAccessLayer.House> dhl = cx.Houses.ToList();
List<BusinessEntities.House> bhl = Mapper.Map<List<DataAccessLayer.House>, List<BusinessEntities.House>>(dhl);
return bhl;
}
jedoch in der folgenden Zeile ich eine Laufzeitausnahme erhalten:
Mapper.Map<List<DataAccessLayer.House>, List<BusinessEntities.House>>(dhl);
„Error Mapping-Typen“.
Ich vermute, dass dies sein könnte, weil jede Person auf ein Haus zeigt und jedes Haus auf Personen zeigt. Da ich diesen "Kreis" in meinem BusinessLayer nicht brauche, habe ich dieses Attribut mit [IgnoreMap] versehen, aber ohne Erfolg. Der Fehler bleibt bestehen.
Irgendwelche vorschlagen, was ich falsch mache?
Wenn Sie entfernen 'IgnoreMap' Attribut Ist es funktioniert – Venky
' Fehler Mapping Types' Fehler gibt auch welche Arten nicht abgebildet sind, können Sie zu bekommen.?. in die inneren Ausnahmedetails und fügen Sie sie hier ein – Venky
Außerdem müssen Sie einen 'Mapper' für' Person' Entitäten explizit erstellen, da sie in 'House' Entität referenziert sind. – Venky