私は(ADO.netエンティティデータモデルによって生成された)私のSQLテーブルを表す2つのクラスの下にあります。読み取りデータ
public partial class Parent
{
public Parent()
{
this.Students = new HashSet<Student>();
}
public int Parent_Id { get; set; }
public string Parent1_Last_Name { get; set; }
public string Parent1_First_Name { get; set; }
public virtual ICollection<Student> Students { get; set; }
}
public partial class Student
{
public int Student_Id { get; set; }
public string Student_Last_Name { get; set; }
public string Student_First_Name { get; set; }
public int Parent_Id { get; set; }
public virtual Parent Parent { get; set; }
}
今、私がしようとしています私はParent
テーブルからの読み取り時に、私は、ランタイム「無効なキャスト」例外エラーを取得しています
var parent = new Parent();
var students = new List<Student>();
using (var dc = new SchoolDataEntities())
{
students = dc.Students.Where(s => s.Parent_Id.Equals(parentId)).ToList();
parent = dc.Parents.Where(p => p.Parent_Id.Equals(parentId));
parent.Students = students;
}
(Students
表が正常に動作している):以下のような方法で私のテーブルからデータを読み込みます。
Error: System.InvalidCastException: 'Unable to cast object of type 'System.Data.Entity.Infrastructure.DbQuery`1[SchoolApplication.Parent]' to type 'SchoolApplication.Parent'.'
誰かが間違っていたことを教えてください。
あなたはFirstOrDefault() 'または' dc.Parents.Where(p => p.Parent_Id.Equals(parentId))。SingleOrDefault()は、dc.Parents.Where(p => p.Parent_Id.Equals(parentId) ) '。 –