我想構建一個包含多個列表的對象。對象 - 消息 - 由一個表格表示,並且包含的列表各自由一個表格表示。爲什麼當我選擇使用LINQ ORM映射的對象時,我的子表實體不會顯示
問題是,當選擇消息時,即使在子表中有值,應該引用子表中內容的屬性也都有一個零計數。
我簡化了數據庫,這樣我只有一個關聯的子表提供了一個很好的例子。
我有什麼:
一個表稱爲消息,它包含以下屬性:
- 標識 - UINT - 自動生成的 - 主鍵
- 消息 - 串
一個名爲「收件人」的表格,其中包含以下屬性ES:
- 的MessageId - UINT - 主鍵
- RecipientId - UINT - 初級這兩者之間鍵
一個關聯。信息是父母,收件人是孩子。基數是一對多的。參與的屬性是Messages.Id - > Recipients.MessageId。
我的目標是能夠保存消息。每封郵件應該有一個或多個收件人。當我從Messages表中提取郵件時,我希望收件人屬性(從聯繫人生成的收件人表)返回所有收件人,其中MessageId等於解壓縮郵件的Id。
所以,我插入到數據庫:
void SendMessage(string message, uint recipient)
{
var m = new Message { Message = message };
context.Messages.InsertOnSubmit(m);
context.SubmitChanges();
var r = new Recipient { MessageId = m.Id, RecipientId = recipient };
context.Recipients.InsertOnSubmit(r);
context.SubmitChanges();
}
現在,如果我選擇從消息表中的消息,我找到郵件。其收件人屬性的計數= 0。不知何故與收件人的關聯不是。所以我必須做一些錯誤的事情。
但是 - 這真讓我困惑 - 如果我從收件人表中選擇收件人,我會找到具有正確的MessageId和RecipientId的收件人。 ORM框架還生成了一個引用父表的屬性,這個屬性可以工作!收件人實體的Message屬性實際引用作爲其父項的Message。
任何人都可以給我一個提示,我錯過了,以便能夠列出父實體的所有子實體嗎?或者需要更多的信息來給我一個答案?
這太簡單了:D謝謝! – Bulgur