私はコースワークのプロジェクトを行っています。データベースファーストエンティティフレームワークを使用しており、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; }
}
私のビューでは、友人のシナリオを見つけました。渡されたテキスト ボックスの値は、Post メソッドに ViewStudentDetail.Friends.username. です。
私の問題は、DbContext オブジェクト (登録時にデータベースに既に保存されている) から指定されたユーザー名を持つ StudentDetails をモデル オブジェクトに割り当てたいことです。
StudentDBEntities DbAccess = new StudentDBEntities();
ViewStudentDetail Studentdetails = new ViewStudentDetail();
Studentdetails.Student = DbAccess.StudentDetails .Find(username);
この割り当ては機能しておらず、null を割り当てています。モデル オブジェクトに db の値を取得する方法を教えてください。また、各属性をモデルに割り当てる必要がある場合は、db オブジェクトからフェッチする構文を教えてください。