小编Ped*_*Kid的帖子

实体框架过滤器"Expression <Func <T,bool >>"

我正在尝试为Entity框架列表创建一个过滤器方法并更好地理解 Expression<Func<...

我有这样的测试功能.

public IQueryable<T> Filter<T>(IEnumerable<T> src, Expression<Func<T, bool>> pred)
{
    return src.AsQueryable().Where(pred);
}
Run Code Online (Sandbox Code Playgroud)

如果我这样做:

context.Table.Filter(e => e.ID < 500);
Run Code Online (Sandbox Code Playgroud)

或这个:

context.Table.Filter(e => e.SubTable.Where(et => et.ID < 500).Count() > 0 && e.ID < 500);
Run Code Online (Sandbox Code Playgroud)

一切都运作良好.

但如果我这样做:

context.Table.Filter(e => e.SubTable.Filter(et => et.ID < 500).Count() > 0 && e.ID < 500);
Run Code Online (Sandbox Code Playgroud)

或这个:

context.Table.Where(e => e.SubTable.Filter(et => et.ID < 500).Count() > 0 && e.ID < 500);
Run Code Online (Sandbox Code Playgroud)

我收到一个错误. LINQ to Entities does not recognize the method ...Filter...

为什么它适用于一个案例而不是加法器?我应该在Filter中更改它以使用相关表.我更喜欢远离其他外部库,因为我想要的是学习它是如何工作的,并且能够在将来的任何场景中使用它.

在前两种情况下,过滤器在数据库中正确运行.

c# lambda entity-framework

16
推荐指数
3
解决办法
4万
查看次数

在 AspNetCore OpenIdConnect 上设置 redirect_uri

在 .Net 上当我创建一个 Open ID 连接身份验证选项时,我有一个属性来设置 RedirectUri,这甚至按照文档中的建议进行了定义,但 AspNetCore 上不存在此类属性,它会自动设置为当前服务器 EX:,(http://localhost)是有没有办法改变这一点?

试图为此找到解决方案时,我遇到了新的 AspNetCore 身份验证的许多缺点,该产品已准备好还是只是 WIP?

c# asp.net-core

4
推荐指数
1
解决办法
4377
查看次数

标签 统计

c# ×2

asp.net-core ×1

entity-framework ×1

lambda ×1