Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/xslt/3.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# 要通过自动映射选择特定列吗_C#_Linq To Entities_Automapper 6 - Fatal编程技术网

C# 要通过自动映射选择特定列吗

C# 要通过自动映射选择特定列吗,c#,linq-to-entities,automapper-6,C#,Linq To Entities,Automapper 6,假设我们有一个具有以下声明的用户实体: public class User { public string About { get; set; } public string FirstName { get; set; } public int Id { get; set; } public string LastName { get; set; } public string ProfileImageUrl { get; set; } } 配置自动映射: using AutoMapper;

假设我们有一个具有以下声明的用户实体:

public class User
{
public string About { get; set; }
public string FirstName { get; set; }
public int Id { get; set; }
public string LastName { get; set; }
public string ProfileImageUrl { get; set; }
}
配置自动映射:

using AutoMapper;
// ...
Mapper.CreateMap<User, UserSummary>();
使用自动映射器,它的工作非常完美

using AutoMapper.QueryableExtensions;
using System.Linq;
using (var context = new ApplicationContext())
{
var users = context.Users
                    .Project()
                    .To<UserSummary>()
                    .ToList();
}
现在如何使用自动映射器选择特定列而不是所有列?

我可以这样做,但没有意义

using (var context = new ApplicationContext())
{
 var users = context.Users
                    .Select(u => new UserSummary
                    {
                        FirstName = u.FirstName,
                        LastName = u.LastName,
                        ProfileImageUrl = u.ProfileImageUrl
                    })
                    .ToList();
}


提前谢谢你

如果StateName是StateMaster和StateMasterDTO类中的属性名,则不需要使用.formMember(),因为AutoMapper足够智能,可以自动映射它。

映射自是无用的。但请检查。我接受如果属性名称相同,它将自动映射,但这不是我的问题答案。不确定您面临的问题。请参考此链接:对不起,我不能很好地解释,我已经更新了我的问题。
SELECT
[Extent1].[Id] AS [Id],
[Extent1].[About] AS [About],
[Extent1].[FirstName] AS [FirstName],
[Extent1].[LastName] AS [LastName],
[Extent1].[ProfileImageUrl] AS [ProfileImageUrl]
FROM [dbo].[Users] AS [Extent1]
go
using (var context = new ApplicationContext())
{
 var users = context.Users
                    .Select(u => new UserSummary
                    {
                        FirstName = u.FirstName,
                        LastName = u.LastName,
                        ProfileImageUrl = u.ProfileImageUrl
                    })
                    .ToList();