如果automapper的集合为空,为什么会创建空的集合实例?这是我的配置
public class MapperProfile : Profile
{
protected override void Configure()
{
AllowNullCollections = true;
AllowNullDestinationValues = true;
Mapper.CreateMap<User, DAL.Models.User>();
Mapper.CreateMap<DAL.Models.User, User>();
Mapper.CreateMap<Role, DAL.Models.Role>();
Mapper.CreateMap<DAL.Models.Role, Role>();
Mapper.CreateMap<Task, DAL.Models.Task>();
Mapper.CreateMap<DAL.Models.Task, Task>();
Mapper.CreateMap<TaskReport, DAL.Models.TaskReport>();
Mapper.CreateMap<DAL.Models.TaskReport, TaskReport>();
Mapper.CreateMap<Project, DAL.Models.Project>();
Mapper.CreateMap<DAL.Models.Project, Project>();
}
}
Run Code Online (Sandbox Code Playgroud)
我的模型具有相同的属性:
public class User
{
public virtual List<Task> Tasks { get; set; }
public virtual List<Role> Roles { get; set; }
public virtual List<TaskReport> TaskReports { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
在Global.asax的MVC项目中,仅添加我的个人资料,如下所示:
Mapper.AddProfile(new BL.MapperProfile());
Run Code Online (Sandbox Code Playgroud)
谢谢!
我知道已经问过类似的问题,并且我已经阅读过,但是我不明白为什么框架4.5.2会发生这种情况。我已经发布ClickOnce,并且在安装4.5.2时需要.net Framework 4.5 。我可以在调试模式下运行它或构建它而没有任何问题。有人可以回答为什么会发生这种情况吗,我该如何解决呢?
我的安装日志
The following properties have been set:
Property: [AdminUser] = true {boolean}
Property: [InstallMode] = HomeSite {string}
Property: [NTProductType] = 1 {int}
Property: [ProcessorArchitecture] = AMD64 {string}
Property: [VersionNT] = 6.1.1 {version}
Running checks for package 'Microsoft .NET Framework 4.5 (x86 ? x64)', phase BuildList
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full'
Read string value '4.5.51209'
Setting value '4.5.51209 {string}' for property 'DotNet45Full_TargetVersion'
Reading value 'Version' of registry key 'HKLM\Software\Microsoft\NET Framework Setup\NDP\v4\Full\1049'
Unable to …Run Code Online (Sandbox Code Playgroud)