Używam AutoMapper
skopiować właściwości jednego obiektu do drugiego: To jest mój kod:Korzystanie AutoMapper do mapowania nieznanych typów
// Get type and create first object
Type itemType = Type.GetType(itemTypeName);
var item = Activator.CreateInstance(itemType);
// Set item properties
.. Code removed for clarity ..
// Get item from Entity Framework DbContext
var set = dataContext.Set(itemType);
var itemInDatabase = set.Find(id);
if (itemInDatabase == null)
{
itemInDatabase = Activator.CreateInstance(itemType);
set.Add(itemInDatabase);
}
// Copy item to itemInDatabase
Mapper.CreateMap(itemType, itemType);
Mapper.Map(item, itemInDatabase);
// Save changes
dataContext.SaveChanges();
Problemem jest to, że Mapper.Map()
zgłasza AutoMapperMappingException
:
Missing type map configuration or unsupported mapping.
Mapping types:
Object -> MachineDataModel
System.Object -> MyProject.DataModels.MachineDataModel
Destination path:
MachineDataModel
Source value:
MyProject.DataModels.MachineDataModel
Nie bardzo rozumiem, na czym polega problem i co mogę zrobić, aby to naprawić?
Haha, zamierzałem ci powiedzieć, żebyś zmieniał kolejność parametrów, ale byłeś zbyt szybki. Ale działa jak urok! Przyjmuję twoją odpowiedź tak szybko, jak tylko mogę. – Joel
@Joel: Tak, najpierw zapisałem odpowiednie części, a następnie sprawdziłem poprawne zamówienie :) –