- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
Automapper (3.1.1) 随机无法映射任何数据,这是一个非常奇怪的问题。创建对象 (ProductRating
) 并返回,但实际上没有映射任何数据。当这种情况发生时,我已经进入了代码,result
变量确实包含数据,但 DynamicMap 没有做它的事情。
如果我打开一个 View 并重新保存它(没有代码更改),或者如果我重新编译服务是下面的代码所在,它就会再次开始工作。也许是因为我以匿名类型嵌套了 DynamicMap 调用?
var result = _repo.Table.Where(a => a....)
.Select(a => new
{
a.ProductRating.UserId,
a.ProductRating.ProductId,
a.ProductRating.Rating,
a.ProductRating.CreatedOn,
a.Product.Name
}).ToList();
// automapper is failing to map any data here intermittently.
List<ProductRating> entityList = result.Select(a => Mapper.DynamicMap<ProductRating>(new
{
a.UserId,
a.ProductId,
a.Rating,
a.CreatedOn,
Product = Mapper.DynamicMap<Product>(new { a.ProductId, a.Name })
})).ToList();
更新 1:
我在下面进行了一些测试,嵌套的 DynamicMap 调用似乎不是问题所在。如果我重建我的解决方案并最初加载像主页一样的 View 然后使用此代码导航到 View 然后 DynamicMap 不,我现在能够始终如一地重现此问题不工作。如果我重建并最初加载与此代码直接关联的 View,那么它就可以正常工作。奇怪的东西。
var itemList = new List<ProductRating>();
result.ForEach(a =>
{
// doesn't map anything
itemList.Add(Mapper.DynamicMap<ProductRating>(new
{
a.UserId,
a.ProductId,
a.Rating,
a.CreatedOn,
// doesn't map either
Product = new Product() { Name = a.Name, ProductId = a.ProductId }
// doesn't map
//Product = Mapper.DynamicMap<Product>(new { a.ProductId, a.Name })
}));
// success
itemList.Add(new ProductRating()
{
UserId = a.UserId,
ProductId = a.ProductId,
Rating = a.Rating,
CreatedOn = a.CreatedOn,
Product = new Product() { Name = a.Name, ProductId = a.ProductId }
});
});
最佳答案
此问题不断出现并成为缺陷的根源。由于没有得到项目所有者的回应,在仔细考虑了 Automapper 和 ValueInjector 之后,我决定放弃使用所有对象到对象的映射器,而只是手动新建类的实例。该决定实际上归结为不受第三方软件的支配,无法保证修复或响应时间。
关于c# - Automapper DynamicMap 随机无法映射匿名类型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21193852/
我正在学习带有 Bokeh 后端的 HoloViews,并且正在制作 Pandas 数据帧所选列的 iPython/Jupyter 显示(实际上它是一个 xarray 数据集,但用数据帧显示问题更简单
Automapper (3.1.1) 随机无法映射任何数据,这是一个非常奇怪的问题。创建对象 (ProductRating) 并返回,但实际上没有映射任何数据。当这种情况发生时,我已经进入了代码,re
在下面的简单场景中,为什么 TestMethod1 的输出为“test”而 TestMethod2 的输出为空?此外,如果您更改顺序并首先运行 TestMethod2,这两种方法都将输出 null。
我已经创建了一个在 List 之间进行映射的通用方法。它在 AutoMapper 版本 3.3.1 之前运行良好。在版本 4.0.0 之后它不工作了 public class Helper : Lis
我有以下代码片段。 var files = query.ToList(); var testFile = Mapper.DynamicMap(files.First()); var filesDto
我在通用方法中使用 Mapper.DynamicMap() 并希望在不使用 .CreateMap() 的情况下忽略一些任何为 null 的源值.这可能吗? 最佳答案 如果您希望忽略所有具有空值的源属性
我正在尝试使用 Holoviews 创建 DynamicMap 类型图的网格布局(例如 2x2)。这将作为 Holoviews/Bokeh 应用程序提供。 创建我的 dmaps 后,我使用它们来放置它
假设您使用 AutoMapper 映射的对象不需要自定义映射,这样做是否有意义: Mapper.CreateMap(); // .... Mapper.Map(SrcObject, DestObj);
我对 AutoMapper 比较陌生,但发现它非常强大,可以将 WCF 服务中的对象转换为 DTO(有点意思)。 今天我遇到了一个我认为应该可行但失败的情况。我在大多数地方都针对接口(interfac
我是一名优秀的程序员,十分优秀!