跨表通过子id集合,返回所有子集的父级和所有子集

///
/// 获取评价标准(第二版代码)
///
///
public static List GetEvaluate(List guids)
{
try
{
using (var db = new CustomContext())
{
var documentList = new List();
var classificationList = new List();
var aclassificationSelectIds = “”;
//循环组合用用于 sql 查询的字符串
foreach (var a in guids)
{
if (aclassificationSelectIds == “”)
{
aclassificationSelectIds = “’” + a + “’”;
}
else
{
aclassificationSelectIds += “,’” + a + “’”;
}
}
//查询评价标准子表数据
var aclassification = (SqlQuery(db, “select [classification_id] as id,[classification_document] as documentId, [classification_name1] as name1, [classification_name2] as name2, [classification_name3] as name3, [classification_name4] as name4, [classification_name5] as name5, [classification_name6] as name6 from [” + shareddata + “].[dbo].[classification] where [classification_id] in (” + aclassificationSelectIds + “)”)).ToList();
//将查询出的子表数据的父Id进行组合
var documentSelectIds = “”;
foreach (var a in aclassification) {
if (documentSelectIds == “”)
{
documentSelectIds = “’” + a.documentId + “’”;
}
else
{
documentSelectIds += “,’” + a.documentId + “’”;
}
}
var document = (SqlQuery(db, “select [document_id] as id,[document_title] as title,[document_name] as name from [” + shareddata + “].[dbo].[document] where [document_id] in (” + documentSelectIds + “)”)).ToList();

                    if (document != null)
                    {
                    documentList = document.Select(x => new documentReturn
                    {
                        id = x.id,
                        name = x.name,
                        title = x.title,
                        classifications = aclassification.Where(y => y.documentId == x.id).ToList()
                    }).ToList();
                     
                }             
                if (documentList.Count == 0)
                {
                    return null;
                }
                return documentList;
            }
        }
        catch (Exception ex)
        {
            ModController.Log("EER:" + ex.ToString());
            return null;
        }
    }




    / <summary>
    / 获取评价标准(最初代码,需要多次访问数据库)
    / </summary>
    / <returns></returns>
    //public static List<documentReturn> GetEvaluate(List<Guid> guids)
    //{
    //    try
    //    {
    //        using (var db = new CustomContext())
    //        {
    //            var documentList = new List<documentReturn>();
    //            var classificationList = new List<classification>();
    //            foreach (var a in guids)
    //            {
    //                var aclassification=(SqlQuery<classification>(db, "select [classification_id] as id,[classification_document] as documentId, [classification_name1] as name1, [classification_name2] as name2, [classification_name3] as name3, [classification_name4] as name4, [classification_name5] as name5, [classification_name6] as name6 from [" + shareddata + "].[dbo].[classification] where [classification_id] ='"+a+"'")).FirstOrDefault();
    //               var document= (SqlQuery<document>(db, "select [document_id] as id,[document_title] as title,[document_name] as name from [" + shareddata + "].[dbo].[document] where [document_id] ='" + aclassification.documentId + "'")).FirstOrDefault();


    //                if (document != null)
    //                {
    //                    var ishas = documentList.Where(x => x.id == document.id).FirstOrDefault();
    //                    if (ishas == null)
    //                    {
    //                        classificationList= new List<classification>();
    //                        var newdocumentReturn = new documentReturn();
    //                        newdocumentReturn.id = document.id;
    //                        newdocumentReturn.name = document.name;
    //                        newdocumentReturn.title = document.title;
    //                        classificationList.Add(aclassification);
    //                        newdocumentReturn.classifications= classificationList;
    //                        documentList.Add(newdocumentReturn);

    //                    }
    //                    else
    //                    {
    //                        classificationList = documentList.FirstOrDefault(x => x.id == document.id).classifications;
    //                        classificationList.Add(aclassification);
    //                        documentList.FirstOrDefault(x => x.id == document.id).classifications= classificationList;
    //                    }
    //                }

    //            }
    //            if (documentList.Count == 0) {
    //                return null;
    //            }
    //            return documentList;
    //        }
    //    }
    //    catch (Exception ex)
    //    {
    //        ModController.Log("EER:" + ex.ToString());
    //        return null;
    //    }
    //}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值