如何在EF数据库中首先分配DbEntities对象给我的模型对象

本文关键字:对象 DbEntities 分配 模型 我的 EF 数据库 | 更新日期: 2023-09-27 18:09:28

我正在为我的课程工作做一个项目,我使用数据库第一实体框架,并得到我的DBContext类

public partial class StudentDBEntities : DbContext
    {
         public DbSet<LoginDetail> LoginDetails { get; set; }
        public DbSet<StudentDetail> StudentDetails { get; set; }
        public DbSet<UserFriend> UserFriends { get; set; }
}

现在我创建了一个模型对象,如下所示,使用这个模型来传递视图

public class ViewStudentDetail
    {    
        public StudentDetail Student { get; set; }
        public UserFriend Friends { get; set; }
    }

这是我的StudentDetail类创建默认

public partial class StudentDetail
    {
        public StudentDetail()
        {
            this.UserFriends = new HashSet<UserFriend>();
        }
        public string StudentName { get; set; }
        public string UnivName { get; set; }
        public string City { get; set; }
        public string Username { get; set; }
        public string Password { get; set; }
        public string EmailId { get; set; }
        public virtual ICollection<UserFriend> UserFriends { get; set; }
    }

在我的视图中,我找到了一个朋友场景和文本框值传递是ViewStudentDetail.Friends.username.to post方法

我的问题是,我想从DbContext对象(在注册期间已经保存在数据库中)分配给定用户名的StudentDetails到模型对象在我的控制器中输入如下

  StudentDBEntities DbAccess = new StudentDBEntities();
 ViewStudentDetail Studentdetails = new ViewStudentDetail();
    Studentdetails.Student = DbAccess.StudentDetails .Find(username);

赋值无效,赋值为null。你能告诉我如何在数据库中获取模型对象的值。此外,如果我需要分配每个属性模型请帮助我与语法从数据库对象获取。

如何在EF数据库中首先分配DbEntities对象给我的模型对象

DbSet.Find()方法只搜索PRIMARY KEY匹配,它不会搜索实体上的所有/任何属性。

我想你在找这样的东西:

ViewStudentDetail.Student = DbAccess.StudentDetails.FirstOrDefault(student => student.Username == username);

如果没有,请在问题中提供更多的源代码。具体来说,请包括生成的实体类。