使用MVC中的Entity Framework从Sql表中获取数据

时间:2018-05-18 13:54:12

标签: asp.net-mvc entity-framework

我使用VS 2015和Entity Framework 6.2.0。 我在sqlServer中有两个表tblUserstblFields。 我创建了两个与我的表相关的模型:

[Table("tblUsers")]
public class Users
{
    [Key]
    public string UserName { get; set; }
    public string UserPassword { get; set; }
    public DateTime RegisterDateTime { get; set; }
    public string FieldId { get; set; }
    public float Score { get; set; }
}

[Table("tblFields")]
public class Fields
{
    [Key]
    public string FieldID { get; set; }
    public string FieldTitle { get; set; }
}

所以,在我的DataAccessLayer中,我有:

public class Dal : DbContext
{
    protected override void OnModelCreating(DbModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Users>().ToTable("tblUsers");
        modelBuilder.Entity<Fields>().ToTable("tblFields");
        base.OnModelCreating(modelBuilder);
    }
    public DbSet<Users> UsersSet { get; set; }
    public DbSet<Fields> FieldsSet { get; set; }
}

当我在BusinessLayer中使用以下代码获取用户数据时:

public List<Users> GetAllUsers()
{
    Dal dal = new Dal();
    return dal.UsersSet.ToList();
}

没有用户返回! 问题在哪里?

1 个答案:

答案 0 :(得分:0)

我创建了一个数据库及其表。然后我创建了从数据库中使用的项目。问题出在这里!

解决方案:我从数据库中删除了所有表,然后运行了我的应用程序。应用程序再次创建了所有表格并解决了问题。