C#   发布时间:2022-04-03  发布网站:大佬教程  code.js-code.com
大佬教程收集整理的这篇文章主要介绍了c# – AutoMapper 3.1.1和Entity Framework 6.1代理对象大佬教程大佬觉得挺不错的,现在分享给大家,也给大家做个参考。
我已经意识到这已经被问到了,但到目前为止,我所阅读的解决方案似乎没有任何区别.我正在使用Entity Framework 6.1和AutoMapper 3.1.1.取以下对象:Company和CompanyListItem;我试试这个:

@H_408_7@mapper.Configure<Company,CompanyListItem>();

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

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

Mapper.Map(companies,typeof(CompanY[]),typeof(CompanyListItem[]));

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

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

解决方法

错误地使用Automapper,您需要使用 QueryableExtensions命名空间,因此您的代码应该是

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

CompanyListItem[] results = companies.Project().To<CompanyListItem>().ToArray();

另外,如果你要去做其他方式,你仍然有Mapper.Map错误,它应该是

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

CompanyListItem[] result = Mapper.Map<IEnumerable<Company>,CompanyListItem[]>(companies);

但是我仍然建议使用.Project().对于< T>()方法,因为它将执行映射服务器端而不是客户端,因此您可能需要通过线路发送更少的数据.

大佬总结

以上是大佬教程为你收集整理的c# – AutoMapper 3.1.1和Entity Framework 6.1代理对象全部内容,希望文章能够帮你解决c# – AutoMapper 3.1.1和Entity Framework 6.1代理对象所遇到的程序开发问题。

如果觉得大佬教程网站内容还不错,欢迎将大佬教程推荐给程序员好友。

本图文内容来源于网友网络收集整理提供,作为学习参考使用,版权属于原作者。
如您有任何意见或建议可联系处理。小编QQ:384754419,请注明来意。