私は現在、CodeFirstとLinqtoエンティティを使用してサイトを開発しています。Especificacionesと呼ばれるカスタムモデルのリストを含むProductosと呼ばれるカスタムモデルがあり、Etiquetasと呼ばれるカスタムモデルも含まれています。Etiquetasには、EtiquetaIdというプロパティがあります。
これは私のモデルの例です:
public class ObjectProducto
{
public IEnumerable<ObjectEspecificaciones> Especificaciones { get; set; }
}
public class ObjectEspecificaciones
{
public IEnumerable<Etiquetas> etiquetas { get; set; }
}
public class Etiquetas
{
[Key]
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public int EtiquetaId { get; set; }
public string texto { get; set; }
}
ビューからの値で満たされたint配列があります。この配列はMyOptionsと呼ばれます。
MyOptions内にEtiquetaIdを持つすべてのEtiquetasを含むすべてのEspecificacionesを取得する必要があります。
この時点で、MyOptions内の任意の値と一致するすべてのEspecificacionesを取得しましたが、すべてのMyOptions値と一致するEtiquetasInsideEspecificacionesが必要です。
私はProductosからの値を持っており、すべてのEspecificacionesとすべてのEtiquetasは、すでにprocatmと呼ばれるvar内にあります。
現在、私のクエリは次のようになっています。
ProductosCatalogo =
(from procatm in catm.ProductosCatalogo
where procatm.Especificaciones.Any(e => e.etiquetas.Any(et =>
et.tipo_etiqueta.CompareTo("categoria") != 0 &&
et.tipo_etiqueta.CompareTo("tipo") != 0 &&
MyOptions.Contains(et.EtiquetaId)))
select procatm).AsEnumerable()
私は私がのようなものを作ることができるかどうかわかりません
ProductosCatalogo =
(from procatm in catm.ProductosCatalogo
where procatm.Especificaciones.Any(e => e.etiquetas.Any(et =>
et.tipo_etiqueta.CompareTo("categoria") != 0 &&
et.tipo_etiqueta.CompareTo("tipo") != 0 &&
MyOptions.All(...).....
select procatm).AsEnumerable()
誰か助けてもらえますか?