好吧,首先,我是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