私はこれに対する答えを見つけようと数時間を費やしていましたが、他の投稿を見直してみましたが、何もこの問題で私を助けてくれませんでした。Entity Framework 4.1多対多自己参照関係ペイロードの問題
私は、組織内の人と組織内の他の人との関係を追跡したいと考えています。
私は2つのテーブル第一及び第二の人のためのIDと関係タイプと呼ばれる余分な列と
Persons
Person_Person
を持っています。
他の人とのすべての関係にアクセスするためのナビゲーションプロパティが必要です。何らかの理由で
私は
newperson.Relationships.add(new Person_Person(){Person1= person});
私は余分な行を取得をしよう。
何かが私は
更新#1
これを整理助けてください合算されていません[OK]を私は人
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;}
と呼ばれるクラスを持って明確にしましょう}
私は2つのことを行うことができるようにしたいは、1これは、余分な行になり
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
「Relationships」プロパティが参加する関係の他端は何ですか?新しいインスタンスをコレクションに追加すると、新しい行が作成されます。 – Eranga
質問を「オンザフライで」書くことは良くありません。あなたの質問は完全な混乱です。 'Relationship'型のオブジェクトを保持するコレクションに' Person_Person'という未知のクラスを追加するにはどうしたらいいですか?リレーションシップコレクションに 'person2'(これは' Person'か、そうでなければ、奇妙な名前を持っていますか、誰か)をどのように追加できますか? 「余分な行」とは何ですか?あなたはまだこれを明らかにしていない。便利な答えが必要な場合は、質問に少しでも力を入れて、人々にあなたがどのような問題を抱えているか推測させてください。今のところ私はここで質問されていることを言うのは難しいので、質問を終わらせることに投票しています。 – Slauma