我一直花費數小時試圖找出答案,查看其他帖子,但沒有任何東西可以幫助我解決這個問題。實體框架4.1多對多自引用關係有效載荷問題
目標是我想跟蹤組織中的其他人與我們組織中的人的關係。
我有兩個表
Persons
Person_Person
與用於第一和第二人的ID和稱爲關係類型一個額外的列。
我想有一個人的導航屬性來訪問所有與他人的關係。
出於某種原因,當我嘗試做
newperson.Relationships.add(new Person_Person(){Person1= person});
我得到一個額外的行。
東西不加入了,請幫我整理了這一點
更新#1
好讓我澄清,我有類調用者
public class Person {
int personID;
string Name;
public virtual ICollection<Relationship> Relationships;
}
public class Relationship {
int RelationshipID {get; set;}
public virtual Person person1{get; set;}
public virtual Person person2{get; set;}
public string relationshipType {get; set;}
}
我希望能夠做兩件事情,一個是能夠通過關係集合做
Person newperson = new Person();
newperson.Relationships.add(person2);
這導致額外的行添加relationshp。
另一種是如果我通過關係表中添加的人如
Relationship relationship= new Relationship();
relationship.person1= person1;
relationship.person2= person2;
relationship.relationshiptype="father";
db.Relationships.add(relationship);
這工作,但我希望它出現在所謂的特定的人的關係
我如何做到這一點我希望我能夠澄清我知道代碼不是完美的語法明智,我寫了它在飛行中。但請幫助我的邏輯。
額外的行在哪裏?你能否向我們提供關於上述行的更多細節? – McKay 2012-01-12 23:59:23
「關係」屬性參與的關係的另一端是什麼?當您將新實例添加到集合時,它將導致新行。 – Eranga 2012-01-13 00:07:22
「在飛行中」寫下問題並不好。你的問題總是混亂。如何將一個名爲'Person_Person'的未知類添加到保存「Relationship」類型對象的集合?如何將一個'person2'(它可能是一個Person,或者如果沒有,有一個奇怪的名字,誰知道)添加到Relationships集合中?什麼是「額外的一排」?你仍然沒有澄清這一點。如果你想要一個有用的答案,請在你的問題上花點功夫,不要讓人們猜測你有什麼問題。現在我正在投票結束這個問題,因爲很難說出這裏提出的問題。 – Slauma 2012-01-13 14:58:04