C# 为什么此类型不能分配给参数类型?
C# 为什么此类型不能分配给参数类型?,c#,automapper,C#,Automapper,OWF_manager下一个月返回类型是OWF_manager关系shipview模型的副本其中的一些内容被注释掉了。此方法是使用OWF_ManagerRelationshipViewModel作为返回类型的原始方法的修改版本。目标是消除其中一个代理类,以减少返回的记录数 另一个区别是在return语句中将新的OWF_管理器nexttwoomsviewmodel传递到automapper 我在managerListFinal.Add(item)中的项目下得到一个红色的曲线和(managerLis
OWF_manager下一个月
返回类型是OWF_manager关系shipview模型的副本
其中的一些内容被注释掉了。此方法是使用OWF_ManagerRelationshipViewModel
作为返回类型的原始方法的修改版本。目标是消除其中一个代理类,以减少返回的记录数
另一个区别是在return语句中将新的OWF_管理器nexttwoomsviewmodel
传递到automapper
我在managerListFinal.Add(item)中的项目下得到一个红色的曲线返回类型的automapper
部分中的code>和(managerListFinal)
managerListFinal.Add(item)中的第一个红色曲线代码>表示:
'参数类型Jupiter.Core.Model.OWF_ManagerRelationship不是
可分配给参数类型
Jupiter.Core.Model.OWF_ManagersNextTwoMonthsViewModel'
(managerListFinal)
中的第二个红色曲线表示:
'参数类型Jupiter.Core.Model.OWF_managers nexttwomonthsviewmodel
不可分配给参数类型
Jupiter.Core.Model.OWF_manager关系'
我还尝试在automapper
返回下返回managerListFinal
,但得到的消息与上面使用automapper
的第一条消息的内容相同
新的OWF_管理器nexttwoomsviewmodel
是在没有文档请求列表的情况下创建的,以避免返回这些记录。我认为它会起作用,因为它与原始的OWF\u managerrelationshipview模型非常相似
我认为automapper
返回将返回我需要的内容,如果它工作正常的话。我正在尝试获取网站日期、目标日期、用户名和经理类型。现场日期和目标日期在下面的方法中使用,而DisplayName、Manager类型和用户则显示在视图的网格中
我认为这很简单,只需复制viewmodel并复制其中的docrequestlist部分。我不明白为什么编译器不喜欢这个,也不明白如何纠正它
原始OWF_管理器关系ShipView模型:
public class OWF_ManagerRelationshipViewModel
{
public OWF_ManagerRelationshipViewModel()
{
OWF_Onsites = new List<OWF_OnsitesViewModel>();
OWF_DocumentRequestList = new List<OWF_DocumentRequestListViewModel>();
}
public int RelationshipId { get; set; }
[Required]
public int ManagerId { get; set; }
public string Users { get; set; }
public string ManagerType { get; set; }
[Required]
public string DisplayName { get; set; }
public string CurrentState { get; set; }
public Nullable<bool> IsActive { get; set; }
public IEnumerable<OWF_AccessGroupViewModel> UsernameList { get; set; }
public virtual ICollection<OWF_DocumentRequestListViewModel> OWF_DocumentRequestList { get; set; }
public virtual ICollection<OWF_OnsitesViewModel> OWF_Onsites { get; set; }
}
public class OWF_ManagersNextTwoMonthsViewModel
{
public OWF_ManagersNextTwoMonthsViewModel()
{
//OWF_DocumentRequestList = new List<OWF_DocumentRequestListViewModel>();
OWF_Onsites = new List<OWF_OnsitesViewModel>();
}
public int RelationshipId { get; set; }
[Required]
public int ManagerId { get; set; }
public string Users { get; set; }
public string ManagerType { get; set; }
[Required]
public string DisplayName { get; set; }
public string CurrentState { get; set; }
public Nullable<bool> IsActive { get; set; }
public IEnumerable<OWF_AccessGroupViewModel> UsernameList { get; set; }
//public virtual ICollection<OWF_DocumentRequestListViewModel> OWF_DocumentRequestList { get; set; }
public virtual ICollection<OWF_OnsitesViewModel> OWF_Onsites { get; set; }
}
公共类OWF_管理器关系HipViewModel
{
公共OWF_管理器关系ShipViewModel()
{
OWF_Onsites=新列表();
OWF_DocumentRequestList=新列表();
}
public int RelationshipId{get;set;}
[必需]
public int ManagerId{get;set;}
公共字符串用户{get;set;}
公共字符串管理器类型{get;set;}
[必需]
公共字符串DisplayName{get;set;}
公共字符串CurrentState{get;set;}
公共可空IsActive{get;set;}
公共IEnumerable用户名列表{get;set;}
公共虚拟ICollection OWF_DocumentRequestList{get;set;}
公共虚拟ICollection OWF_Onsites{get;set;}
}
我的新OWF_经理下一个Womonthsviewmodel:
public class OWF_ManagerRelationshipViewModel
{
public OWF_ManagerRelationshipViewModel()
{
OWF_Onsites = new List<OWF_OnsitesViewModel>();
OWF_DocumentRequestList = new List<OWF_DocumentRequestListViewModel>();
}
public int RelationshipId { get; set; }
[Required]
public int ManagerId { get; set; }
public string Users { get; set; }
public string ManagerType { get; set; }
[Required]
public string DisplayName { get; set; }
public string CurrentState { get; set; }
public Nullable<bool> IsActive { get; set; }
public IEnumerable<OWF_AccessGroupViewModel> UsernameList { get; set; }
public virtual ICollection<OWF_DocumentRequestListViewModel> OWF_DocumentRequestList { get; set; }
public virtual ICollection<OWF_OnsitesViewModel> OWF_Onsites { get; set; }
}
public class OWF_ManagersNextTwoMonthsViewModel
{
public OWF_ManagersNextTwoMonthsViewModel()
{
//OWF_DocumentRequestList = new List<OWF_DocumentRequestListViewModel>();
OWF_Onsites = new List<OWF_OnsitesViewModel>();
}
public int RelationshipId { get; set; }
[Required]
public int ManagerId { get; set; }
public string Users { get; set; }
public string ManagerType { get; set; }
[Required]
public string DisplayName { get; set; }
public string CurrentState { get; set; }
public Nullable<bool> IsActive { get; set; }
public IEnumerable<OWF_AccessGroupViewModel> UsernameList { get; set; }
//public virtual ICollection<OWF_DocumentRequestListViewModel> OWF_DocumentRequestList { get; set; }
public virtual ICollection<OWF_OnsitesViewModel> OWF_Onsites { get; set; }
}
公共类OWF\U管理器下一个WOMONTHSVIEWMODEL
{
公共OWF_管理器下一个WOMONTSVIEWMODEL()
{
//OWF_DocumentRequestList=新列表();
OWF_Onsites=新列表();
}
public int RelationshipId{get;set;}
[必需]
public int ManagerId{get;set;}
公共字符串用户{get;set;}
公共字符串管理器类型{get;set;}
[必需]
公共字符串DisplayName{get;set;}
公共字符串CurrentState{get;set;}
公共可空IsActive{get;set;}
公共IEnumerable用户名列表{get;set;}
//公共虚拟ICollection OWF_DocumentRequestList{get;set;}
公共虚拟ICollection OWF_Onsites{get;set;}
}
使用红色曲线的方法:
public IEnumerable<OWF_ManagersNextTwoMonthsViewModel> GetAllExistingManagersByCurrentDate()
{
var managers = _relationshipRepo.GetAll();
var managerListFinal = new List<OWF_ManagersNextTwoMonthsViewModel>();
var year = DateTime.Now.Year;
var prevYear = DateTime.Now.AddYears(-1).Year;
foreach (var item in managers)
{
foreach (var onsite in item.OWF_Onsites.Where(x => x.OnsiteDate != null))
{
if (Convert.ToDateTime(onsite.OnsiteDate).Month == DateTime.Now.Month && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
onsite.TargetMonth == DateTime.Now.Month && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
onsite.TargetMonth == (DateTime.Now.Month + 1) && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
Convert.ToDateTime(onsite.OnsiteDate).Month == (DateTime.Now.Month + 1) && Convert.ToDateTime(onsite.OnsiteDate).Year == year ||
Convert.ToDateTime(onsite.OnsiteDate).Month == DateTime.Now.Month && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear ||
onsite.TargetMonth == DateTime.Now.Month && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear ||
onsite.TargetMonth == (DateTime.Now.Month + 1) && onsite.OnsiteDate == null && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear ||
Convert.ToDateTime(onsite.OnsiteDate).Month == (DateTime.Now.Month + 1) && Convert.ToDateTime(onsite.OnsiteDate).Year == prevYear)
{
managerListFinal.Add(item);
}
}
}
//return Mapper.Map<IEnumerable<OWF_ManagerRelationship>, IEnumerable<OWF_ManagersNextTwoMonthsViewModel>>(managerListFinal);
return managerListFinal;
}
public IEnumerable GetAllExistingManagersByCurrentDate()
{
var managers=_relationshipRepo.GetAll();
var managerListFinal=新列表();
var year=DateTime.Now.year;
var prevYear=DateTime.Now.AddYears(-1).Year;
foreach(管理器中的var项)
{
foreach(item.OWF_Onsites.Where(x=>x.OnsiteDate!=null)中的现场变量)
{
if(Convert.ToDateTime(onsite.OnsiteDate).Month==DateTime.Now.Month&&Convert.ToDateTime(onsite.OnsiteDate).Year==Year||
onsite.TargetMonth==DateTime.Now.Month&&onsite.OnsiteDate==null&&Convert.ToDateTime(onsite.OnsiteDate)。Year==Year||
onsite.TargetMonth==(DateTime.Now.Month+1)和&onsite.OnsiteDate==null和&Convert.ToDateTime(onsite.OnsiteDate)。Year==Year||
Convert.ToDateTime(site.OnsiteDate).Month==(DateTime.Now.Month+1)和Convert.ToDateTime(site.OnsiteDate).Year==年||
Convert.ToDateTime(onsite.OnsiteDate).Month==DateTime.Now.Month&&Convert.ToDateTime(onsite.OnsiteDate.Year==prevYear||
onsite.TargetMonth==DateTime.Now.Month&&onsite.OnsiteDate==null&&Convert.ToDateTime(onsite.OnsiteDate)。Year==prevYear||
onsite.TargetMonth==(DateTime.Now.Month+1)和&onsite.OnsiteDate==null和&Convert.ToDateTime(onsite.OnsiteDate)。Year==prevYear||
Convert.ToDateTime(site.OnsiteDate).Month==(DateTime.Now.Month+1)和&Convert.ToDateTime(site.OnsiteDate.Year==上一年)
{
managerListFinal.Add(项目);
}
}
}
//返回Mapper.Map(managerListFinal);
返回managerListFinal;
}
您从OWF\u管理者关系中获取项目,检查它们,然后将它们放入OWF\u管理者下一个TTWOMSVIEWMODEL列表中。然后你想把它们画出来
我想你应该这样做
managerListFinal.Add(Mapper.Map<OWF_ManagerRelationship,OWF_ManagersNextTwoMonthsViewModel>(item));
managerListFinal.Add(Mapper.Map(item));
你应该很好我去了洛杉矶