好吧,首先,我是LINQ2SQL的全新人物,所以請原諒我的無知。LINQ to SQL - 按條件限制關係(一對多)(1 - M)
我做了一些搜索,但1小時後,我決定來這裏。
這裏是:
我想要做一些我認爲很簡單的事情。這可能只是我不明白。我正在使用LINQ 2 SQL,通過VS設計器。我有2個表格:客戶和類別。客戶可以有多個類別。
我有一個非常簡單的查詢,尋找客戶:
Client c = db.Clients.SingleOrDefault(client => client.ID == id);
我想要做的就是修改這使得集合:c.Categories,將只包含該客戶端的類別的子集。
這是我已經試過:
Client c = db.Categories.Where(cat => cat.IsActive == true).Select(cat.Clients).SingleOrDefault(client => client.ID == id);
我得到一個錯誤報告被返回了多個客戶端。
- 我錯過了什麼嗎?這不是LINQ旨在做的事嗎?
我是否應該使用第一個查詢,然後在我需要該列表時在類別上專門做另一個查詢?
c.Categories.Categories.Where(貓=> cat.IsActive ==真)
預先感謝您。
你怎麼想限制類別清單的客戶端?是否有您希望查看的分類表上的「IsActive(bool)」字段? – 2009-12-30 22:19:17
這正是我想要做的。 – Kevin 2009-12-30 22:50:03