子エンティティを複製せずに、同じエンティティを 2 つの異なるエンティティに追加することはできますか? 奇妙な質問ですが、私は疑似コードでやろうとしていることを知っています...
Transaction tran = new Transaction()
Task task = new Task();
task.Name = "My Task";
User user = new User();
user.Name = "John Smith";
user.Tasks.Add(task);
Document doc = new Document();
doc.Path = @"c:\temp\MyDoc.pdf";
doc.Tasks.Add(task);
tran.Users.Add(user);
tran.Documents.Add(doc);
tran.Create();
開発者が同じタスク オブジェクトを User.Tasks コレクションと Document.Tasks コレクションの両方に追加できるようにして、Create() メソッドでデータベースに挿入するときにそれを認識できるようにしてほしいと思います。タスクは、UserID と DocumentID を介して User と Document の両方に関連付けられます。
Task テーブルには、それぞれの ID があります。
タスク表
ID int
UserID int
DocumentID int
etc...