【发布时间】:2021-12-21 17:24:33
【问题描述】:
我正在按照此示例将自定义列名称映射到我的类模型:
在这个特定的部分:
public FooMap()
{
Map(m => m.Id).Name("ColumnA");
Map(m => m.Name).Name("ColumnB");
}
是否可以使用字符串作为列名而不是硬编码?像这样的——
public FooMap()
{
Map("Col1").Name("ColumnA");
Map("Col2").Name("ColumnB");
}
“Col1”和“Col2”是我的类模型的属性。我曾尝试使用反射,但它不起作用:
Map(x => typeof(MyClassModel).GetProperty("Col1")).Name("ColumnA");
如果我想要实现的目标可行,请告诉我。一些附加信息——列映射(源和目标)都存储在一个表中。
谢谢!
【问题讨论】:
-
根据经验,我认为不使用代码生成器在运行时创建
ClassMap是不可能的。 -
感谢杰伊的回复。现在,我只是手动将我的类模型中的每一列映射到一个自定义名称。有很多领域!这就是为什么我想知道我是否可以使用动态名称并只使用一个循环来映射所有列。再次感谢。