【发布时间】:2011-12-02 17:09:59
【问题描述】:
我首先使用 EF 代码设置了以下域模型:
public class User
{
public virtual int Id { get; set; }
public virtual string Email { get; set; }
public virtual ICollection<UserProcessed> UsersProcessed { get; set; }
}
public class UserProcessed
{
public virtual int Id { get; set; }
public virtual DateTime CreatedAt { get; set; }
public virtual User user { get; set; }
}
我正在尝试将以下 T-SQL 查询转换为 LINQ,但遇到了一些困难:
SELECT u.Email
FROM Users u LEFT JOIN UsersProcessed up ON u.Id = up.UserId
WHERE up.UserId IS NULL
AND u.CreatedAt BETWEEN '2011-12-01' AND '2011-12-01'
这将返回所有尚未处理的用户(UserId 在 UsersProcessed 表中不存在)。
IEnumerable<User> users = Database.Set<User>().Where(....).ToList();
【问题讨论】:
标签: c# linq ef-code-first