我过去使用过PetaPoco,使用[Column("{column name")]
属性来装饰我的对象,依此类推。但是,我正在尝试实现一个“纯”域模型,该模型不了解持久性,因此不了解PetaPoco的属性。
PetaPoco blog提到必须实现IMapper
接口(“新映射器API”)才能将对象映射到其表而不修饰对象的类。但是,博客文章或源代码都没有真正解释IMapper
的实现应该做什么。
如果我只是想将我的域实体映射到特定的表,主键和列名,我是否需要实现IMapper
,我该怎么做?
答案 0 :(得分:0)
还有更多有关映射器here的最新信息。基本上,您可以选择编写实现for( var i = 0; i< data.length;i++ ) {
// code here
ss.getRange(i + 1, 12).setValue(sent_string)
// code here
}
的类或创建IMapper
的后代(已经实现ConventionMapper
并提供更详细的自定义钩子)。您可以选择为每种类型编写一个映射器,或为每个程序集编写一个映射器。
IMapper
已经很聪明,如果您遵循某些命名约定(因此命名),则可以从一种类型推断表和列的名称。有时,足以使后代只具有ConventionMapper
和InflectColumnName()
的一些替代规则,并为整个程序集注册它。但是,如果您使用的字段名实际上看起来与表列名看起来不一样,那么IMO最好从零开始为每种类型实现InflectTableName()
(或从IMapper
继承) )并填写所有详细信息。