ツール:のVisual Studio 2010の
言語:私はEntity Frameworkのを習い始めている C#"EntityCollectionは既に初期化されています。"エラー
私はそれが正常に動作しますが、私は使用するたびにコード#1を使用whenver、私は、問題でこだわっていますと、InvalidOperationExceptionがユーザーコードで未処理だった
エラーメッセージ:CODE#2、私はエラー(下記掲載)
タイトルを取得します"EntityCollectionは既に初期化されています。 InitializeRelatedCollection方法は、オブジェクトグラフの逆シリアル化中に新しいEntityCollectionを初期化するために呼び出されるべき「
//SchoolModel.Designer.cs
public EntityCollection<Course> Courses
{
get
{ //Blah blah code }
set
{
if ((value != null))
{//Below statement is pointed by Visual Studio as Exception Thrower
((IEntityWithRelationships)this).RelationshipManager.InitializeRelatedCollection<Course>("SchoolModel.CourseInstructor", "Course", value);
}
}
}
コード#1:
List<string> list = new List<string>();
var prs = new Person();
using (var myEntity = new SchoolEntities())
{
var result = myEntity.People;
foreach (var ppl in result)
{
list.Add(ppl.PersonID+","+ppl.FirstMidName);
}
}
コード#2:
List<string> list = new List<string>();
List<Person> prsList = new List<Person>();//when using this list,problem started
var prs = new Person();
using (var myEntity = new SchoolEntities())
{
var result = myEntity.People;
foreach (var ppl in result)
{
list.Add(ppl.PersonID+","+ppl.FirstMidName);
//New code which raised exceptions
prs.PersonID = ppl.PersonID;
prs.FirstMidName = ppl.FirstMidName;
prs.LastName = ppl.LastName;
prs.Courses = ppl.Courses;
prsList.Add(prs);
//New code end
}
}
データベースダイアグラム:
エンティティ・ダイアグラム:
PS:私は、その後、http://www.asp.net/web-forms/tutorials/getting-started-with-ef/the-entity-framework-and-aspnet-getting-started-part-3でEFのチュートリアルに従っずれと一緒にプレイし始め
- それ:
- 関連するエラーに関する質問がありましたが、私のシナリオは異なります。
私はEFからのCRUD操作にもっと興味があります(プロジェクトには最小限の時間ですばやく実装する必要があります)。詳しくは十分な時間がありません –
別のスレッドでコンテキストを再利用していますか?コンテキストはスレッドセーフではありません。 –
@AkashKava私はちょうど学んでいるので、私はどんなスレッドも使用していません。 –