0

次の SQL 文に問題があります。

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' 

エンティティ フレームワークの LINQ に渡したいのですが、結果を IQueryable リストに入れる必要があります。

これを試してみましたが、IQueryable リストに渡す方法がわかりません。

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
                            };

私はこの言語をよく理解していません 私はこのタイプを好みます...

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();

前もってありがとう!

4

2 に答える 2

0

匿名型を 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();
于 2013-07-30T15:12:40.120 に答える