我想从我的数据库中获取所有用户名,以便当新用户想要注册时,我可以检查数据库中是否已存在用户名。我试图用这个linq表达式做到这一点:
[AllowAnonymous]
public ActionResult Register()
{
var q = from t in _db.User
select t;
return View();
}
但是当我调试它时,q变为“儿童无法评估”。 我不知道为什么我会收到这个错误,所以我发布一些我认为可以与之相关的东西。
这就是我在Register方法上面定义_db的方法:
FantasySport _db = new FantasySport();
这里是fantasysport数据库模型:
public class FantasySport : DbContext
{
public DbSet<UserProfile> User { get; set; }
public DbSet<Team> Team { get; set; }
public DbSet<TeamPlayer> TeamPlayer { get; set; }
public DbSet<Player> Player { get; set; }
public DbSet<Games> Games { get; set; }
public DbSet<League> League { get; set; }
}
这是UserProfile模型:
[Table("UserProfile")]
public class UserProfile
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int UserId { get; set; }
public string UserName { get; set; }
public string Firstname { get; set; }
public string Lastname { get; set; }
public string Country { get; set; }
public string City { get; set; }
public int Birthdate { get; set; }
public ICollection<Team> teams { get; set; }
}
答案 0 :(得分:0)
在Visual Studio调试器中扩展EF查询结果时,使用EF 6显然是some complicated internal issue。但是如果您只是枚举结果(foreach (var item in q) { /* watch item in debugger */ }
)或在代码中调用任何执行运算符(如var result = q.ToList();
),它就会起作用。