首页 > 解决方案 > 如何在 Linq 中编写嵌套的 Sql 查询

问题描述

所以我在sql中有这个查询:

select  (select ConfigItemDescripcion from SGRC_ConfigItem where ConfigId = 'SEGM' and ConfigItemId = SegmentoId) Segmento,
             (select ConfigItemDescripcion from SGRC_ConfigItem where ConfigId = 'MRCA' and ConfigItemId = MarcaId) Marca,
             Producto, 
             Familia
from sgrc_emisor 
where EmisorCuenta = '3702406435'

我想在 linq 表达式或 lambda 表达式中编写相同的查询。

我在这里先向您的帮助表示感谢

标签: c#entity-frameworklinqlambdaorm

解决方案


最后我设法在 linq 中提出查询,不知道如何在 lambda 中执行,但它工作正常。

 var obj = (from emisor in _context.DbSetEmisores
                       where emisor.EmisorCuenta == cuenta
                       select new EmisorDto
                       {
                           Segmento =
                           ((from itemConf in _context.ItemsDeConfiguracion
                             where itemConf.ConfigID == "SEGM" && itemConf.ConfigItemID == emisor.SegmentoId
                             select new { itemConf.ConfigItemDescripcion }).FirstOrDefault().ConfigItemDescripcion),
                           Marca =
                           ((from itemConf in _context.ItemsDeConfiguracion
                             where itemConf.ConfigID == "MRCA" && itemConf.ConfigItemID == emisor.MarcaId
                             select new { itemConf.ConfigItemDescripcion }).FirstOrDefault().ConfigItemDescripcion),
                           Producto = emisor.Producto,
                           Familia = emisor.Familia,
                           SegmentoId = emisor.SegmentoId,
                           MarcaId = emisor.MarcaId,
                       }).FirstOrDefault();

推荐阅读