我有这个Linq,我试图将元素设置为哈希集却无法正常工作,缺少了什么?当我调试结果时,总是向我显示该属性为空
var estructura = (from result in query
select new Estructura()
{
IdEstructura = result.Servicio.Campana.Cliente.Direccion.IdDireccion,
Descripcion = result.Servicio.Campana.Cliente.Direccion.Descripcion,
lstEstructurasHijos = new HashSet<Estructura>().Select(
C => new Estructura()
{
IdEstructura = result.Servicio.Campana.Cliente.IdCliente,
Descripcion = result.Servicio.Campana.Cliente.Descripcion,
lstEstructurasHijos = new HashSet<Estructura>().Select(
CA => new Estructura()
{
IdEstructura = result.Servicio.Campana.IdCampana,
Descripcion = result.Servicio.Campana.Descripcion,
lstEstructurasHijos = new HashSet<Estructura>().Select(
S => new Estructura()
{
IdEstructura = result.Servicio.IdServicio,
Descripcion = result.Servicio.Descripcion,
lstEstructurasHijos = new HashSet<Estructura>()
})
})
})
});
最佳答案
您正在像这样在select
上滥用HashSet
:
new HashSet<Estructura>().Select(//... Means take from that new HashSet....
当然,新的
HashSet
将不包含任何内容。这就是为什么您会得到空的HashSet的原因。