首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >SQL转换为LINQ

SQL转换为LINQ
EN

Stack Overflow用户
提问于 2013-07-30 15:07:31
回答 2查看 59关注 0票数 0

我对这个SQL语句有一个问题:

代码语言:javascript
复制
SELECT     DOCUMENTOS.*
FROM         DOCUMENTOS 
INNER JOIN
                      DOCUMENTOS_NOTARIOS ON DOCUMENTOS.uniCODOBJ = DOCUMENTOS_NOTARIOS.UNICODDOC 
INNER JOIN
                      NOTARIOS ON DOCUMENTOS_NOTARIOS.UNICODNOT = NOTARIOS.uniCODOBJ
Where notarios.unicodobj = '84B11CDE-1C4B-4D0F-8C68-A54074B8D652' 

我会将实体框架传递给,我需要将结果输入IQueryable列表

我试过了,但我不知道如何传递到IQueryable列表,

代码语言:javascript
复制
List<DOCUMENTOS> DocumentosByNotarioList = new List<DOCUMENTOS>();
                var query = from d in db.DOCUMENTOS
                            join dn in db.DOCUMENTOS_NOTARIOS on d.uniCODOBJ equals dn.UNICODDOC
                            join n in db.NOTARIOS on dn.UNICODNOT equals n.uniCODOBJ
                            where n.uniCODOBJ == test
                            select new
                            {
                                d.uniCODOBJ,
                                d.strTITOL,
                                d.strNOMPRO,
                                d.strFECINI,
                                d.strFECFIN
                            };

我不太明白这种语言--我更喜欢这种.

代码语言:javascript
复制
DocumentsList = db.DOCUMENTOS
                    .Where(d => nombre == null || d.strTITOL.Contains(nombre))
                    .Where(d => fechaIni == string.Empty || d.strFECINI.Equals(fechaIni))
                    .Where(d => fechaFin == string.Empty || d.strFECFIN.Equals(fechaFin))
                    .Where(d => tipoLibro == Guid.Empty || d.uniCODSER == tipoLibro)
                    .Where(d => firmaTopo == null || d.strFIRTOP == firmaTopo)
                    .OrderByDescending(d => d.datFECCER).ToList();

谢谢你的提前!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-30 15:12:40

假设您不能将匿名类型转换为DOCUMENTOS类型。只需不做投影:

代码语言:javascript
复制
var query = from d in db.DOCUMENTOS
            join dn in db.DOCUMENTOS_NOTARIOS on d.uniCODOBJ equals dn.UNICODDOC
            join n in db.NOTARIOS on dn.UNICODNOT equals n.uniCODOBJ
            where n.uniCODOBJ == test
            select d;

var DocumentosByNotarioList = query.ToList();
票数 0
EN

Stack Overflow用户

发布于 2013-07-31 08:07:40

我不太明白。我有这个功能,因为我正在使用MVC,我需要这个iqueryable来传递到视图,这个视图包含一个完整的网格。

代码语言:javascript
复制
public static IQueryable<DOCUMENTOS> GetDocumentosByNotario()
            {
                Guid test = new Guid("84B11CDE-1C4B-4D0F-8C68-A54074B8D652");
                netCNCEntities db = new netCNCEntities();
                List<DOCUMENTOS> DocumentosByNotarioList = new List<DOCUMENTOS>();

                var query = from d in db.DOCUMENTOS
                            join dn in db.DOCUMENTOS_NOTARIOS on d.uniCODOBJ equals dn.UNICODDOC
                            join n in db.NOTARIOS on dn.UNICODNOT equals n.uniCODOBJ
                            where n.uniCODOBJ == test
                            select d;

                var DocumentosByNotarioList = query.ToList();
}

非常感谢你的帮助!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17950716

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档