ほとんど正しいデータを返すルーチンがあります。文字列IDコードを渡すと、モデルが作成され、データベースからデータが取得され、モデルが入力されてから、モデルが返されます。戻りモデルは正しく見え、モデル内のリストにデータが含まれていないことを除いて、正しいデータがあります。
モデルはこれに似ています
public class SubjectDB
{
public string SubjectId { get; set; }
.
.
List<AddressDB> Address { get; set; }
.
.
[Key]
public int Id { get; set; }
}
public class DBEntities: DbContent
{
public DbSet<SubjectDB> SubjectDB { get; set; }
public DbSet<AddressDB> AddressDB { get; set; }
.
.
}
サブルーチンは、このコードを使用して呼び出されます
SubjectDB xsubject = new SubjectDB();
xsubject = (SubjectDB)GetNewSubject(model.Subject.Id);
サブルーチンは
Public object GetNewSubject( string Id )
{
SubjectDB subjectdb = new SubjectDB();
DBEntites db = new DBEntities();
var subjectxx = db.SubjectDB.First(x => x.SubjectId == Id);
var addressxx = db.AddressDB.First(x => x.SubjectId == Id);
.
.
subjectdb.SubjectId = subjectxx.Subjectid;
.
.
List<AddressDB> Address = new List<AddressDB>();
Address.Add(addressxx);
.
.
return(subjectdb);
}
サブルーチンのsubjectdbにマウスを合わせると、リストのデータを含むすべてのデータが表示されますが、返されたオブジェクト「xsubject」にマウスを合わせると、正しい戻りデータがすべて表示されますが、リストは空です。