我首先使用 EF 代码。有两个类定义了我的多对多关联表:
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string Email { get; set; }
public virtual ICollection<Habit> Habits { get; set; }
}
public class Habit
{
[Key]
public int HabitId { get; set; }
public virtual ICollection<UserProfile> Users { get; set; }
}
我需要从我的数据库中选择当前用户的所有习惯。我对 c# 很陌生,问题是我无法理解如何使用复杂的 lambda 表达式。我试过了:
context.Habits.Where(habit => habit.Users
.Where(user=>user.Email==User.Identity.Name)).ToList()
但这是错误的。您能否更正我的基于 lambda 的查询。谢谢。