我正在尝试使用AutoMapper 3将具有整数属性的类投影到具有字符串属性的另一个类中。
当执行查询时,我会收到以下异常:
System.NotSupportedException: LINQ to Entities不认识ToString()方法,这个方法不能被转换为存储表达式。
以下是代码的相关部分:
public partial class Lookup
{
public int LookupId { get; set; }
public int LookupTypeId { get; set; }
public string Value { get; set; }
public int SequencialOrder { get; set; }
public virtual LookupType LookupType { get; set; }
}
public class LookupProfile : Profile
{
protected override void Configure()
{
CreateMap<Lookup, SelectListItem>()
.ForMember(dest => dest.Value, opt => opt.MapFrom(src => src.LookupId.ToString()))
.ForMember(dest => dest.Text, opt => opt.MapFrom(src => src.Value));
}
}
查询语句如下:
Provinces = _db.Lookups.Project().To<SelectListItem>().ToList()
问题:
我能否配置LookupProfile以进行正确的映射,并仍然在Linq To Entities中工作? 或者是否有其他方法可以使投影与Linq to Entities一起工作?
SelectListItem.Value
不能是整数吗? - Gert Arnold