我正在开发一个ASP.Net Core 2.0应用程序并在Linux/Nginx/Kestrel上运行它.
在开发环境(Windows 10)上,一切运行顺利.此外,在项目目录中使用"dotnet run"运行应用程序时.
在生产环境(Debian 8/Kestrel)上,所有表单POST都失败并显示HTTP状态码400(错误请求),而不会在控制台中提示任何错误,而表单GET请求运行正常.控制台中会提示所有其他消息(警告,错误).我正在使用"dotnet .dll"运行应用程序.
有人能指出我解决问题的方向吗?
我想使用谓词构建自定义 linq 查询。
而不是使用静态Where子句,即...
public IEnumerable<Entities.BusinessDirectory.BDEntity> Search(string searchExpression)
{
var db = new ApplicationDbContext();
return db.BDEntities
.Where(x => searchExpression.Split(' ').Any(y => x.Value.Contains(y)));
}
Run Code Online (Sandbox Code Playgroud)
...我正在使用泛型方法扩展 DbContext Search(predicate, searchExpression),它与静态方法具有相同的效果(见上文)
public static class DbContextExtensions
{
public static IEnumerable<T> Search<T>(
this DbSet<T> dbSet,
Expression<Func<T, object>> predicate,
string searchExpression)
where T : class, new()
{
//Experimental
return dbSet
.Where(x => searchExpression.Split(' ').Any(y => predicate.Contains(x)));
}
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到以下错误:
错误 6 实例参数:无法从“System.Linq.Expressions.Expression>”转换为“System.Linq.ParallelQuery” Extensions.cs