我正在使用Simple.Data检索数据 - 它将数据库表映射到动态对象。 我想将动态对象映射到一个简单的类型。我试过这个:
var dbObject = Database.Default.LocationStatus.FindByLocationStatusId(locationStatusId);
ILocationStatus domainObject = new LocationStatus();
domainObject.InjectFrom((object)dbObject);
但是没有设置domainObject中的属性。 映射应该简单,因为属性名称相同,ei:dbObject.Name和domainObject.Name
我哪里错了? 注意:我实际上可以神奇地投射(鸭子打字?)(LocationStatus)dbObject,但我想知道如何使用ValueInjecter进行映射。感谢。
答案 0 :(得分:0)
听起来很奇怪,几天前我遇到了同样的问题,解决方案很简单。
您需要将动态输出转换为您尝试映射的类型。
就我而言:
WeatherData myData = new WeatherData().InjectFrom((object)weatherData);
如上面评论中引用的帖子所示,没有工作(我怀疑与原始海报有同样的问题),但是当使用as ...
时WeatherData myData = new WeatherData().InjectFrom((object)weatherData) as WeatherData;
一切正常。
所以即使使用较新的版本,3年多以后这仍然是一个问题,并且输出类型是修复。