【发布时间】:2017-11-27 07:04:54
【问题描述】:
我有以下实体
public partial class Resource
{
public int Id { get; set; }
public string Description{ get; set; }
public virtual ICollection<ResourceCapability> ResourceCapability { get; set; }
}
public partial class Capability
{
public int Id { get; set; }
public string Description{ get; set; }
public virtual ICollection<ResourceCapability> ResourceCapability { get; set; }
}
public partial class ResourceCapability
{
public int Id { get; set; }
public int ResourceId { get; set; }
public int CapabilityId { get; set; }
public virtual Resource Resource { get; set; }
public virtual Capability Capability { get; set; }
}
现在一个资源可以具有多种功能,例如 C#、JAVA 等,并且多个资源可以具有相同的功能,例如多个资源具有 C# 功能等等。
我正在尝试获取具有特定(一个或多个)功能的所有资源的列表。我如何使用 Linq 做到这一点?
以下代码返回加入表的列表,而不是资源
dbset.Select(x => x.ResourceCapability.Where(y => list.Contains(y.Capability.Description))).ToList();
其中列表是List<string>,包含功能描述
【问题讨论】:
标签: asp.net entity-framework linq