【发布时间】:2017-01-16 21:27:47
【问题描述】:
我正在使用 LINQ 从多个表中查询数据。
var test= await _context.Article
.Select(a => new
{
a.ID,
a.Title,
a.CreatedTime,
a.EditedTime,
a.Author.UserName,
a.AuthorID
}).ToListAsync();
Author 是 Article 类中的导航属性。
但我是从日志中得到的:
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 行,它会按预期工作。
我错过了什么吗?
我将 Entity Framework Core 1.1.0 与 Microsoft SQL Server 一起使用。
【问题讨论】:
标签: c# entity-framework linq entity-framework-core