相关疑难解决方法(0)

AutoMapper 3.1.1和Entity Framework 6.1代理对象

我已经意识到这已经被问到了,但我读过的解决方案到目前为止似乎没有什么区别.我正在使用Entity Framework 6.1和AutoMapper 3.1.1.采取以下对象:CompanyCompanyListItem; 我试试这个:

Mapper.Configure<Company, CompanyListItem>();
Run Code Online (Sandbox Code Playgroud)

好吧,当我尝试进行实际映射时,它会崩溃并烧毁,但没有定义映射.我知道这是由于Entity Framework创建的代理对象引起的.到目前为止我看到的一个解决方案是调用Map方法的重载版本:

IQueryable<Company> companies = CompaniesService.FindCompanies();

Mapper.Map(companies, typeof(Company[]), typeof(CompanyListItem[]));
Run Code Online (Sandbox Code Playgroud)

它仍然不起作用,并对我大喊大叫.

我还读过其他帖子,从2.2.1开始修复了这个帖子?这是不同的还是它倒退了?我很感激建议.

c# entity-framework automapper

3
推荐指数
1
解决办法
3346
查看次数

使用具有多对一相关实体的 AutoMapper 时出现“System.StackOverflowException”类型的未处理异常

修复此错误后:当地图存在时,AutoMapper 抛出缺少地图我收到错误:

无法计算表达式,因为当前线程处于堆栈溢出状态。 这是我最初收到错误的地方(如您所见,它与第一个错误是同一行):

在此输入图像描述

更新: 当我将忽略语句添加到我的CreateMap<>();声明中时:

CreateMap<Pages, PagesViewModel>()
            .ForMember(m => m.PageTypes, x => x.Ignore())
            .ForMember(m => m.SiteMap, x => x.Ignore())
            .ForMember(m => m.Row, x => x.Ignore())
            .ForMember(m => m.Tracks, x => x.Ignore());
Run Code Online (Sandbox Code Playgroud)

我收到此消息:System.Reflection.TargetParameterCountException: Parameter count mismatch.所以我删除了 Ignore 语句,CreateMaps 如下:

CreateMap<Pages, PagesViewModel>();

CreateMap<PagesViewModel, Pages>();
Run Code Online (Sandbox Code Playgroud)

该错误执行以下操作之一(所有这三种情况都发生了,并且很难重现特定的一种情况):

  1. 第一个是应用程序继续运行并最终超时。
  2. 程序“[5256] iisexpress.exe”已退出,代码为-2147023895 (0x800703e9)。
  3. 转到代码的另一部分(我的 PagesViewModel)

(更新):

private string PagesURL;
[Required]
[Display(Name = "Page URL")]
[DataType(DataType.Url)]
[StringLength(100, ErrorMessage = "The {0} must be at least {2} characters long and no …
Run Code Online (Sandbox Code Playgroud)

c# stack-overflow asp.net-mvc viewmodel automapper

3
推荐指数
1
解决办法
5661
查看次数