Entity framework 实体框架未生成正确的查询

Entity framework 实体框架未生成正确的查询,entity-framework,Entity Framework,我不熟悉实体框架,这可能是非常简单的事情。我遇到了一个问题,它在我的存储库中生成的查询不是预期的查询,因此它不会从用户表中返回任何结果。我有以下代码,用于按用户名和密码筛选用户集合: var user = _userRepository.Users.Where(u => u.Username == request.Username && u.Password == request.Password).FirstOrDefault(); 但结果查询是: SELECT [E

我不熟悉实体框架,这可能是非常简单的事情。我遇到了一个问题,它在我的存储库中生成的查询不是预期的查询,因此它不会从
用户表中返回任何结果。我有以下代码,用于按用户名和密码筛选用户集合:

var user = _userRepository.Users.Where(u => u.Username == request.Username && u.Password == request.Password).FirstOrDefault();
但结果查询是:

SELECT 
[Extent1].[Discriminator] AS [Discriminator], 
[Extent1].[Id] AS [Id], 
[Extent1].[Username] AS [Username], 
[Extent1].[Password] AS [Password]
FROM [dbo].[User] AS [Extent1]
WHERE [Extent1].[Discriminator] IN (N'Admin',N'User')
所以它没有找到任何结果。此外,它似乎在一个名为
[Discriminator]
的列上进行过滤,但用户对象类型没有任何继承,只有一个用户类


我缺少什么来生成预期的查询?例如SQL查询,它只是根据用户名和密码进行筛选。

鉴别器列可能是某些继承映射的结果。我不知道为什么where和top子句丢失了,可能是存储库中的某个错误(即不返回IQueryables)。用户的外观如何?它是什么类型的?听起来好像它返回了所有从数据库使用的数据,这些数据库是
管理员
用户
。然后您将
应用于内存中的集合,其中
。鉴别器列可能是某些继承映射的结果。我不知道为什么where和top子句丢失了,可能是存储库中的某个错误(即不返回IQueryables)。用户的外观如何?它是什么类型的?听起来好像它返回了所有从数据库使用的数据,这些数据库是
管理员
用户
。然后将
应用于内存中的集合。