编辑 - 使用IQueryable,而不是内存集合.
所以我基本上想要根据一些标志来处理Where子句,但不要让它们充当AND.所以,假设我想要"Foo"为真或"Bar"为真的结果.我现在正在这样做......
results = results.Where(r => r.Foo || r.Bar);
Run Code Online (Sandbox Code Playgroud)
这很好,但是我需要添加OR的很多条件,如果我可以将它们链接在一起,它会使代码更具可读性.
是否有任何简单的方法来执行此操作,如下所示,但使用OR而不是AND.
if (something)
results = results.Where(r => r.Foo)
if (somethingElse)
results = results.Where(r => r.Bar)
Run Code Online (Sandbox Code Playgroud)
如果我必须构建Expression对象和类似的东西,或使用第三方库,只是想知道是否有一些我没有看到的简单的东西,这对我来说并不值得.
此外,我考虑使用Union(),但它似乎执行较慢(虽然它更可读).
更多信息可以提供帮助.基本上我的条件是用户角色.它们可以是角色的任意组合,但每个角色都应该在"结果"中添加OR条件.所以是的,有人提到的枚举标志可以帮到这里.
所以我有一个ASP.NET MVC应用程序,它有自己的用户,并使用cookie和声明身份验证.我正在添加一个将在其他地方托管的Web Api应用程序.MVC应用程序是唯一应该调用api的应用程序.我想知道验证api调用的正确方法是什么.所有授权检查都在MVC应用程序中完成,目前API并不关心授权,只关注身份验证.
我的第一个想法是只有一个"应用程序用户"将请求持票人令牌,然后将其与每个请求一起传递.web api将对此用户进行身份验证并提供令牌.这听起来不对吗?有没有更好的办法?
如果将来,web api确实关心授权,那么将api调用作为登录用户的正确方法是什么?
谢谢!
所以我想存储一个代表"10分35秒进入视频"的值.我打算使用这种类型time,但我的价值可能超过24小时.我的数据可能总是格式化为小时:分钟:秒.
此外,我正在使用实体框架,所以我需要一些可以很好地翻译的类型.谢谢.