Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/266.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/asp.net/36.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 映射AutoMapper.QueryableExtensions时未调用IValueResolver.Resolve_C#_Asp.net_Asp.net Mvc_Asp.net Mvc 3_Asp.net Mvc 4 - Fatal编程技术网

C# 映射AutoMapper.QueryableExtensions时未调用IValueResolver.Resolve

C# 映射AutoMapper.QueryableExtensions时未调用IValueResolver.Resolve,c#,asp.net,asp.net-mvc,asp.net-mvc-3,asp.net-mvc-4,C#,Asp.net,Asp.net Mvc,Asp.net Mvc 3,Asp.net Mvc 4,我正在尝试在AutoMapper中映射IQueryable数据 namespace Soure { public class Employee { public int Id { get; set; } public string Name { get; set; } public Department dept { get; set; } public Employee() {

我正在尝试在AutoMapper中映射IQueryable数据

namespace Soure
{
    public class Employee
    {
        public int Id { get; set; }
        public string Name { get; set; }

        public Department dept { get; set; }

        public Employee()
        {
            this.Id = 1;
            this.Name = "Test  Name";
            this.dept = new Department();
        }
    }

    public class Department
    {
        public int DeptId { get; set; }
        public string DeptName { get; set; }

        public Department()
        {
            DeptId = 2;
            DeptName = "Test Dept";
        }
    }
}

namespace destination
{
    public class Employee
    {
        public int Id { get; set; }
        public string Name { get; set; }

        public Department dept { get; set; }

    }

    public class Department
    {
        public int DeptId { get; set; }
        public string DeptName { get; set; }
    }
}



var empList = new List<Soure.Employee>() { new Soure.Employee(), new Soure.Employee() }.AsQueryable();
            Mapper.CreateMap<Soure.Employee, destination.Employee>();

            Mapper.CreateMap<Soure.Department, destination.Department>().ForMember(d => d.DeptId, s => s.MapFrom(sou => 7));
            Mapper.AssertConfigurationIsValid();

var mappedEmp = empList.Project().To<destination.Employee>();
我想调用ResolutionResult IValueResolver.ResolveResolutionResult源 方法的映射。 但是没有人打电话给它

当我使用MapsourceObject时 此映射程序调用ResolutionResult IValueResolver.ResolveResolutionResult源

因为我有可查询的映射,所以我不能使用MapsourceObject

或者,是否有其他方法替代ResolutionResult IValueResolver.ResolveResolutionResult源,该源适用于AutoMapper.QueryableExtensions值解析程序。LINQ提供程序不能解释任何随机的代码位,它必须由EF/NHibernate等进行解释。AutoMapper仅将表达式树传递给LINQ提供程序


您的示例使用MapFrom而不是ResolveUsing,因此我无法判断您尝试执行的操作是否可行。另外,您的示例使用了AsQueryable,这是一种欺骗——内存中的查询可以实现很多事情,而基于DB的查询提供程序则无法实现这些事情。

我尝试过ResolveUsing,因为它需要IValueResolver,而IValueResolver不支持Queryable,这就是为什么我尝试使用MapFrom实现同样的功能。如何使用MapFrom实现相同的功能?或者以其他方式实现相同的功能。具体实现什么?您在示例中显示的代码在LINQ中运行良好。是的,上面的代码运行良好。但是我想给func而不是7。我有一个查询,因为我刚刚问了另一个问题,所以我在接下来的1.5个小时内阻止了它,但我想立即得到它。它与linq有关。你能帮我更新你的代码以显示你遇到的实际问题吗?