2017-01-16 61 views
1

我使用LINQ从多个表中查询数据。如何使Entity Framework Core在执行JOIN时查询一些字段

var test= await _context.Article 
.Select(a => new 
{ 
    a.ID, 
    a.Title, 
    a.CreatedTime, 
    a.EditedTime, 
    a.Author.UserName, 
    a.AuthorID 
}).ToListAsync(); 

AuthorArticle类导航属性。

但我得到这个从日志:

Executed DbCommand (6ms) [Parameters=[], CommandType='Text', CommandTimeout='30'] 
     SELECT [a].[ID], [a].[AuthorID], [a].[Content], [a].[CreatedTime], [a].[EditedTime], [a].[Title], [a.Author].[Id], [a.Author].[AccessFailedCount], [a.Author].[ConcurrencyStamp], [a.Author].[Email], [a.Author].[EmailConfirmed], [a.Author].[LockoutEnabled], [a.Author].[LockoutEnd], [a.Author].[NormalizedEmail], [a.Author].[NormalizedUserName], [a.Author].[PasswordHash], [a.Author].[PhoneNumber], [a.Author].[PhoneNumberConfirmed], [a.Author].[SecurityStamp], [a.Author].[TwoFactorEnabled], [a.Author].[UserName] 
     FROM [Article] AS [a] 
     LEFT JOIN [AspNetUsers] AS [a.Author] ON [a].[AuthorID] = [a.Author].[Id] 
     ORDER BY [a].[AuthorID] 

我只是想一些领域,但它会查询所有的人。如果我从我的代码中删除a.Author.UserName行,它只是按预期工作。

我错过了什么吗?

我正在使用实体框架核心1.1.0与Microsoft SQL Server。

回答

1

此行为已为documented as bug,修复预定的里程碑2.0.0

+1

很酷。现在“唯一”的问题是2.0.0何时到来,以及人们应该如何处理所有这些错误:) –

相关问题