假设我有一个 IsRegistrationCompleted
属性。
我的过滤器界面中有 2 个复选框,上面写着:
- 完成
- 不完整
如果两者均被选中,则将检索完整和不完整的用户。如果仅选中Complete
,则仅检索已完成的用户。如果没有检查,则不会检索任何内容。
如何将这个逻辑放入 linq 中?
我按如下方式绑定(bind)了复选框:
public bool IsCompleted { get; set; }
public bool IsInCompleted { get; set; }
我的方法是:
private void GetUsers()
{
//TODO: Apply filters here.
var query = _context.GetUsers(); //Returns IQueryable<User>
_context.Load(query, LoadBehavior.MergeIntoCurrent, LoadApplicantsCompleted, null);
}
将 silverlight 与 WCF Ria 服务结合使用。
最佳答案
像这样的东西会起作用。我认为如果你在一个Where语句中包含以下所有逻辑,那么阅读起来会很困难
if(IsCompleted && IsInCompleted)
{
query = query;
}
else if(IsCompleted)
{
query = query.Where(u => u.IsRegistrationCompleted);
}
else if(IsInCompleted)
{
query = query.Where(u => !u.IsRegistrationCompleted);
}
else
{
query = query.Where(u => false);
}
关于silverlight - 从接口(interface)的 2 个值中按 1 个 bool 值过滤,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6375571/