所以我想早点制作一个自己的自定义映射器,但我得到的建议是这很困难(因为我得到了参考等,我同意这一点^^)而且我会更幸运地使用自动映射器,因为它很容易等等。所以我开始为要转换的类创建映射(我想让这个应用程序每周从 SQLite 文件更新 SQLserver 数据库,表名和属性相同,只有大写字母不同,但是automapper 不区分大小写,非常棒)
这是我尝试过的代码:
Mapper.CreateMap<person, Person>();
Mapper.CreateMap<personAbility, PersonAbility>();
Mapper.AssertConfigurationIsValid();
然后我得到这个人不知道如何转换个性属性的错误。所以我搜索了一下,发现我需要包含它:
Mapper.CreateMap<person, Person>()
.Include<personAbility, PersonAbility>()
Mapper.CreateMap<personAbility, PersonAbility>();
Mapper.AssertConfigurationIsValid();
然而在这里它抱怨它需要的不是个性,而是一个列表(EntityCollection)。所以我尝试了:
Mapper.CreateMap<person, Person>()
.Include<EntityCollection<personAbility>, EntityCollection<PersonAbility>>()
Mapper.CreateMap<personAbility, PersonAbility>();
Mapper.AssertConfigurationIsValid();
但是它给出了一个错误,它不知道类型,我用谷歌搜索了更多的发现:https ://github.com/AutoMapper/AutoMapper/wiki/Lists-and-arrays在支持列表上没有 EntityCollection。意思是我撞到了另一堵墙(死胡同)???任何人都知道解决方案,如果您有其他解决方案/方法来映射我的数据库,我们将不胜感激。