2010-04-29 37 views
1

有没有人有一种技术来自动映射(使用Automapper)引用子实体。所以说,我有一个视图模型:自动映射到实体框架中的EntityKeys

class AddressModel 
{ 
    int Id; 
    string Street; 
    StateModel State; 
} 

class StateModel 
{ 
    int Id; 
    string Name; 
} 

而且我进入一个仓库这映射到实体框架等的独立实体。当自动映射时,我希望它将AddressModel.State.ID自动映射到AddressEntity.StateReference的EntityKey。所以,手工制作的代码应该是这样的:

addressEntity.Id = AddressModel.Id; 
addressEntity.Street = AddressModel.Street 
addressEntity.StateReference.EntityKey = new EntityKey("MyDB.States", "Id", AddressModel.State.Id); 

显然,当automapper尝试将Address.State.Id分配给EF等效,则抛出异常。

回答