[英]Entity framework core relationship collection is empty
我確實做了數據庫第一種方法,我確實創建了我的數據庫。 我使用關系,我有兩個表:
users
-------------
id PK int(11)
username UNIQUE varchar(20)
rooms
-------------
id PK int(11)
name VARCHAR(30) NOT NULL
owner_id INDEX int(11) -> FK to users.id
當我做腳手架時,模型看起來有點像這樣:
User.cs:
public User()
{
Rooms = new HashSet<Room>();
}
public int Id { get; set; }
public string Username { get; set; }
public virtual ICollection<Room> Rooms { get; set; }
Room.cs:
public int Id { get; set; }
public string Name { get; set; }
public int? OwnerId { get; set; }
public virtual User Owner { get; set; }
(OwnerId可以為空,因為系統房間沒有指定的所有者)
問題是,如果我在登錄時獲得了我的用戶對象,並且我查看了user.Rooms
,則該集合始終為空,即使數據庫有一個條目。
我知道包括修復這個,但這使我必須從數據庫加載所有房間,這是一個可怕的想法,當在程序的開始加載1000多個房間。
即使關系設置正確,為什么集合總是為空?
設置關系片與在內存上加載相關實體不同。 您可以根據需要選擇4種不同的加載機制。
您可以使用選擇加載來過濾必須加載哪些相關的entites。 因此,您無需加載所有相關的權限。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.