簡體   English   中英

如何在實體中使用查找表?

[英]How to use a lookup table in entity?

我已將數據庫導入實體。 一切都很好,除了我的查找表不再容易訪問了。

示例我有一個Users表和一個Friends表。 許多唯一用戶可以擁有相同的朋友。 為了解決這個問題,我有一個由2列(UserID和FriendID)組成的Users_Friends表。

我希望能夠針對唯一的用戶ID查詢該表,以提取與該特定用戶關聯的所有FriendID。 但是當我嘗試去做

using (var db = new GameAlertDBEntities())
{
    var friendIDs = db.Users_Friends.
}

我立即被告知無法解析符號Users_Friends。 我在這里停下來試圖弄清楚在前進之前如何解析符號。 奇怪的是,足夠多的實體找到了我所有的其他表,而沒有一個查找表。

多對多關系aux表未抽象為EF表。 相反,您可以像這樣直接訪問相關實體的列表:

using (var db = new GameAlertDBEntities())
{
    var user = db.Users.First(); // or any other query for user
    var friends = user.Friends;
}

這是怎么發生的? 實體框架會在導入期間識別此類關系,並在后台進行所有工作。

如果UserId和FriendId未標記為外鍵,則必須通過簡單查詢來查找朋友

var userFriends = db.Users.Friends.ToList();

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM