異なるエンティティにオブジェクトを保存...基本的に私は2クラス、部門や場所を持っています。 DepartmentにはICollection
のLocationがありますが、LocationにはDepartmentID
がありません(LocationはDepartmentに固有ではなく、同じ場所を別のDepartmentsまたは別のテーブルに追加できるため)。私は部門を作成し、それに場所を追加しようとするたびにEntity Frameworkは:私はこの問題で苦労してい
public class Department
{
public Department()
{
this.LocationList = new HashSet<Location>();
this.JobList = new HashSet<Job>();
}
public int Id { get; set; }
public string Name { get; set; }
public string Description { get; set; }
public string Code { get; set; }
public virtual ICollection<Location> LocationList { get; set; }
public virtual ICollection<Job> JobList { get; set; }
}
public class Location
{
public int id { get; set; }
public string Name { get; set; }
public string Adress { get; set; }
}
は、場所は(と思う?)私のすべての悪の根であるDepartment_ID
と呼ばれる新しい属性を取得します。私はID = 1
でLocation1
を追加し、ID = 2
を持つ別のLocation2
のであれば、両方の場所は、Department_ID = 1
(または別の整数...)ということになります。しかし、私が新たに作成したDepartmentにLocation1
を追加しようとすると、そのDepartmentは他のDepartmentのLocationList
からその場所を「盗む」でしょう。私はそれがDepartment_ID changes
であると推測しています。どうしたらいいですか?他の部門からLocation1
を離れることはありませんか?どんな助けもありがとう。前もって感謝します!
あなたのデータベースをチェックして、そのモデル化方法を確認しましたか?あなたはM対N relatioshipについて読む必要があるように見え、この作業をするためには他のテーブルを取得する必要があります。 –
これは多分多くの関係です。私はLocationクラスでDepartementのコレクションを持っている必要があると思いますか? – Amine
あなたが説明したように、あなたのデザインをチェックしてください。場所には部署のコレクションが必要であり、所在地には場所のコレクションがありません。 – MNF