首页 > 解决方案 > LINQ 查询返回列表中的相同记录

问题描述

我在使用 LINQ 查询时遇到问题,该查询在列表中返回相同的记录,但仅在应用程序中。LINQPAD 中的相同查询返回正确的结果,有人知道为什么吗?

public IEnumerable<TireMasterProcess> GetAllComponentParameter(string productionCode, 
    string revisionNo, string fieldName, string[] fieldNames)
{
    var isExists = false;

    using (var dbContext = new TireMasterProcessDbContext())
    {
        isExists = (
            from t2 in dbContext.Processes
            where
                t2.ProductionCode.Trim() == productionCode && 
                t2.RevisionNo.Trim() == revisionNo &&
                t2.FieldName.Trim() == fieldName
            select t2.DataChr.Trim()
            )
            .FirstOrDefault() != null;

        return (
            from t in dbContext.Processes
            where
                t.ProductionCode.Trim() == "FP08" && 
                t.RevisionNo.Trim() == "102" &&
                (new string[] {"B2-BiasLR", "B2-Fabric"}).Any(f => 
                    t.FieldName.Trim().Equals(f)) && 
                isExists
            orderby t.FieldName ascending
            select t
            )
            .ToList();
    }
}

标签: c#.netoracleentity-frameworklinq-to-sql

解决方案


推荐阅读