C# 在本地执行排序会影响性能吗?这取决于数据库中有多少记录。在这种情况下,我通常在DB中进行过滤,获取结果并在内存中执行其他不受支持的操作。对你来说,我认为这不太重要。无论如何,您最终都会获取记录。很好,会有一些排序问题(按字段名排序),但这些问题是可以解决的
C# 在本地执行排序会影响性能吗?这取决于数据库中有多少记录。在这种情况下,我通常在DB中进行过滤,获取结果并在内存中执行其他不受支持的操作。对你来说,我认为这不太重要。无论如何,您最终都会获取记录。很好,会有一些排序问题(按字段名排序),但这些问题是可以解决的,c#,linq,entity-framework,linq-to-sql,iqueryable,C#,Linq,Entity Framework,Linq To Sql,Iqueryable,在本地执行排序会影响性能吗?这取决于数据库中有多少记录。在这种情况下,我通常在DB中进行过滤,获取结果并在内存中执行其他不受支持的操作。对你来说,我认为这不太重要。无论如何,您最终都会获取记录。很好,会有一些排序问题(按字段名排序),但这些问题是可以解决的。我主要关心的是性能——在本地执行排序会不会影响性能?这取决于数据库中有多少记录。在这种情况下,我通常在DB中进行过滤,获取结果并在内存中执行其他不受支持的操作。对你来说,我认为这不太重要。不管怎样,你最终还是会得到这些记录的 query.Se
在本地执行排序会影响性能吗?这取决于数据库中有多少记录。在这种情况下,我通常在DB中进行过滤,获取结果并在内存中执行其他不受支持的操作。对你来说,我认为这不太重要。无论如何,您最终都会获取记录。很好,会有一些排序问题(按字段名排序),但这些问题是可以解决的。我主要关心的是性能——在本地执行排序会不会影响性能?这取决于数据库中有多少记录。在这种情况下,我通常在DB中进行过滤,获取结果并在内存中执行其他不受支持的操作。对你来说,我认为这不太重要。不管怎样,你最终还是会得到这些记录的
query.Select(r => new ResultObject()
{
Id = r.Persion.Id,
Code = r.Person.Code,
CalculatedField = CalculateField(r.Person)
}
private static CalcFieldEnum CalculateField(Person p)
{
if(p.Age < 21)
{
if(p.Salary > 2000 && p.YearsWorked > 2)
return CalcFieldEnum.TypeB;
else if(p.YearsWorked <= 2)
return CalcFieldEnum.TypeC;
}
else
{
if(p.Salary > 3000)
return CalcFieldEnum.TypeB;
}
return CalcFieldEnum.TypeA;
}
query.AsEnumerable().Select(...);
p => p.Age < 21
? (
(p.Salary > 2000 && p.YearsWorked > 2)
? CalcFieldEnum.TypeB
: (p.YearsWorked <= 2 ? CalcFieldEnum.TypeC : CalcFieldEnum.TypeA)
)
: ( p.Salary > 3000 ? CalcFieldEnum.TypeB : CalcFieldEnum.TypeA);