C# 是否可以将Linq语句的一部分放入变量中?
我来自Perl,使用C和Linq完成第一步。 我的问题是,是否有一种方法可以将Linq语句的一部分放在一个变量中,就像下面的代码一样,只是为了简短的说明,而不是为了使用它而测试,这样做比每次编写新的Linq语句更容易、更灵活。还可以对同一MQuery使用不同的Order语句选择大小写、数组C# 是否可以将Linq语句的一部分放入变量中?,c#,linq,variables,C#,Linq,Variables,我来自Perl,使用C和Linq完成第一步。 我的问题是,是否有一种方法可以将Linq语句的一部分放在一个变量中,就像下面的代码一样,只是为了简短的说明,而不是为了使用它而测试,这样做比每次编写新的Linq语句更容易、更灵活。还可以对同一MQuery使用不同的Order语句选择大小写、数组 var orderstatement = "orderby m.Reihenfolge ascending, m.Datum descending, m.Titel ascending";
var orderstatement = "orderby m.Reihenfolge ascending, m.Datum descending, m.Titel ascending";
var MQuery = (from m in _context.Movie
orderstatement
where m.Sichtbar == true && m.Gesperrt == false
select m;
谢谢你的建议。你可以用扩展方法尝试类似的方法。首先,通过movies方法定义order
public static IQueryable<Movie> OrderMovies(this IQueryable<Movie> movies) {
return movies.OrderBy(m => m.Reihenfolge).ThenByDescending(m => m.Datum).ThenBy(m => m.Title);
}
是的。你应该了解。这能回答你的问题吗?OrderBy是的,但最好发布更多细节和样品。LINQ从一开始就是复杂的东西。
var movies = _context.Movies.Where(m => m.Sichtbar == true && m.Gesperrt == false).OrderMovies().Select(m => m)