C# 不会返回实体框架映射值

C# 不会返回实体框架映射值,c#,linq,entity-framework-6,C#,Linq,Entity Framework 6,问题: 我使用数据库优先的方法从EF创建了一个DbContext类。但是当访问用户详细信息时,我无法验证 输出 代码正在运行,但验证未成功。提供了DbContext和Validation类: AlumniConnectEntities.cs namespace Test { using System; using System.Data.Entity; using System.Data.Entity.Infrastructure;

问题:

我使用数据库优先的方法从EF创建了一个
DbContext
类。但是当访问
用户
详细信息时,我无法验证

输出

代码正在运行,但验证未成功。提供了
DbContext
Validation
类:

AlumniConnectEntities.cs

    namespace Test
    {
        using System;
        using System.Data.Entity;
        using System.Data.Entity.Infrastructure;
        using System.Data.Entity.Core.Objects;
        using System.Linq;

        public partial class AlumniConnectEntities : DbContext
        {
            public AlumniConnectEntities()
                : base("name=AlumniConnectEntities")
            {
            }

            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                throw new UnintentionalCodeFirstException();
            }

            public virtual DbSet<Alumnus> Alumni { get; set; }
            public virtual DbSet<Job> Jobs { get; set; }
            public virtual DbSet<Role> Roles { get; set; }
            public virtual DbSet<Student> Students { get; set; }
            public virtual DbSet<sysdiagram> sysdiagrams { get; set; }
            public virtual DbSet<User> Users { get; set; }
        }
    }
     public class StudentValidation
        {
                AlumniConnectEntities dbConnection = new AlumniConnectEntities();

                public bool CheckLogin()
                {
                    //bool loginSuccess = dbConnection.Users.Where(x => x.username == "rupee@gmail.com" && x.password == "rupee").Any();


                  var usersList = dbConnection.Users.ToList(); 

                 var loginSuccess= usersList.Where(x => x.username ==  
                 "rupee@gmail.com" && x.password == "rupee").Any(); 
                    return loginSuccess;
                }
            }
 public class Users
    {
        public int id { get; set; }
        public string username { get; set; }
        public string password { get; set; }
        public int Role_Id { get; set; }

        public virtual Roles Role { get; set; }
    }
public class Roles
    {
        public Roles()
        {
            this.Users = new HashSet<Users>();
        }

        public int id { get; set; }
        public string role_name { get; set; }

        public virtual ICollection<Users> Users { get; set; }
    }
Users.cs

    namespace Test
    {
        using System;
        using System.Data.Entity;
        using System.Data.Entity.Infrastructure;
        using System.Data.Entity.Core.Objects;
        using System.Linq;

        public partial class AlumniConnectEntities : DbContext
        {
            public AlumniConnectEntities()
                : base("name=AlumniConnectEntities")
            {
            }

            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                throw new UnintentionalCodeFirstException();
            }

            public virtual DbSet<Alumnus> Alumni { get; set; }
            public virtual DbSet<Job> Jobs { get; set; }
            public virtual DbSet<Role> Roles { get; set; }
            public virtual DbSet<Student> Students { get; set; }
            public virtual DbSet<sysdiagram> sysdiagrams { get; set; }
            public virtual DbSet<User> Users { get; set; }
        }
    }
     public class StudentValidation
        {
                AlumniConnectEntities dbConnection = new AlumniConnectEntities();

                public bool CheckLogin()
                {
                    //bool loginSuccess = dbConnection.Users.Where(x => x.username == "rupee@gmail.com" && x.password == "rupee").Any();


                  var usersList = dbConnection.Users.ToList(); 

                 var loginSuccess= usersList.Where(x => x.username ==  
                 "rupee@gmail.com" && x.password == "rupee").Any(); 
                    return loginSuccess;
                }
            }
 public class Users
    {
        public int id { get; set; }
        public string username { get; set; }
        public string password { get; set; }
        public int Role_Id { get; set; }

        public virtual Roles Role { get; set; }
    }
public class Roles
    {
        public Roles()
        {
            this.Users = new HashSet<Users>();
        }

        public int id { get; set; }
        public string role_name { get; set; }

        public virtual ICollection<Users> Users { get; set; }
    }
Role.cs

    namespace Test
    {
        using System;
        using System.Data.Entity;
        using System.Data.Entity.Infrastructure;
        using System.Data.Entity.Core.Objects;
        using System.Linq;

        public partial class AlumniConnectEntities : DbContext
        {
            public AlumniConnectEntities()
                : base("name=AlumniConnectEntities")
            {
            }

            protected override void OnModelCreating(DbModelBuilder modelBuilder)
            {
                throw new UnintentionalCodeFirstException();
            }

            public virtual DbSet<Alumnus> Alumni { get; set; }
            public virtual DbSet<Job> Jobs { get; set; }
            public virtual DbSet<Role> Roles { get; set; }
            public virtual DbSet<Student> Students { get; set; }
            public virtual DbSet<sysdiagram> sysdiagrams { get; set; }
            public virtual DbSet<User> Users { get; set; }
        }
    }
     public class StudentValidation
        {
                AlumniConnectEntities dbConnection = new AlumniConnectEntities();

                public bool CheckLogin()
                {
                    //bool loginSuccess = dbConnection.Users.Where(x => x.username == "rupee@gmail.com" && x.password == "rupee").Any();


                  var usersList = dbConnection.Users.ToList(); 

                 var loginSuccess= usersList.Where(x => x.username ==  
                 "rupee@gmail.com" && x.password == "rupee").Any(); 
                    return loginSuccess;
                }
            }
 public class Users
    {
        public int id { get; set; }
        public string username { get; set; }
        public string password { get; set; }
        public int Role_Id { get; set; }

        public virtual Roles Role { get; set; }
    }
public class Roles
    {
        public Roles()
        {
            this.Users = new HashSet<Users>();
        }

        public int id { get; set; }
        public string role_name { get; set; }

        public virtual ICollection<Users> Users { get; set; }
    }


第一个想法是:您能调试并在用户名和密码检查处设置断点吗?也许您可以在从数据库中提取用户名和密码时检查它们的值,以查看它们包含的内容。另外,它们在数据库中是散列的还是加密的?可能需要先解除对值的哈希或解密,然后才能进行纯文本比较。请提供
用户
类和
用户
表架构,这样只有任何人才能确定它是否与映射问题有关。看起来您正在调用构造函数并创建新连接:AlumniConnectEntities dbConnection=新的AlumniConnectEntities();可能已经有代码建立了连接。我知道这没有帮助,但您可以缩短所需的时间
dbConnection.Users.Any(x=>x.username==)rupee@gmail.com“&&x.password==”卢比“
而且查询速度更快。密码是否经过哈希/加密?您可能无法针对纯文本进行验证。首先要考虑的是:是否可以调试并在用户名和密码检查处设置断点?也许您可以在从数据库中提取用户名和密码时检查它们的值,以查看它们包含的内容。另外,它们在数据库中是散列的还是加密的?可能需要先解除对值的哈希或解密,然后才能进行纯文本比较。请提供
用户
类和
用户
表架构,这样只有任何人才能确定它是否与映射问题有关。看起来您正在调用构造函数并创建新连接:AlumniConnectEntities dbConnection=新的AlumniConnectEntities();可能已经有代码建立了连接。我知道这没有帮助,但您可以缩短所需的时间
dbConnection.Users.Any(x=>x.username==)rupee@gmail.com“&&x.password==”卢比“
而且查询速度更快。密码是否经过哈希/加密?您可能无法针对纯文本进行验证。