小编Waz*_*ose的帖子

C#将表达式作为参数传递并使用PredicateBuilder

我想使用"标准"对象动态构建LinqToSQL和EntityFramework查询子句,如果需要,在Nutshell PredicateBuilder中利用C#(http://www.albahari.com/nutshell/predicatebuilder.aspx)

只是要清楚 - 我不明白如何创建C#表达式; o)

过滤器运算符和值被定义为我的"查询条件"类的属性,如下所示:

public class QueryCriteria
{
    public DateTimeFilter DateTimeCompleted { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

"过滤器"定义为:

public class DateTimeFilter
{
    public FilterOperator FilterOperator { get; set; }

    public DateTime FilterToken { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

而"过滤器运算符"是一个简单的C#枚举:

public enum FilterOperator : int
{
    ExactMatch = 1,
    BeginsWith = 2,
    Contains = 3,
    EndsWith = 4,
    GreaterThan = 5,
    GreaterThanOrEqualTo = 6,
    LessThan = 7,
    LessThanOrEqualTo = 8,
}
Run Code Online (Sandbox Code Playgroud)

我想使用以下方法在我的存储库中动态构建我的LinqToSQL和EntityFramework查询:

if (criteria.DateTimeCompleted != null)
{
    var …
Run Code Online (Sandbox Code Playgroud)

c# linq entity-framework linq-to-sql predicatebuilder

3
推荐指数
1
解决办法
960
查看次数

knockoutjs在取消选择一个或多个项目时取消选择/选择所有复选框

这与本主题的其他问题类似,但不同.

我有一个包含记录列表的表,每个记录都有一个选择复选框.

在表格标题中,我有一个"全选"复选框.

当用户选中/取消选中"全选"时,将选择/取消选择记录.这很好用.

但是,当取消选择一个或多个记录时,我需要取消选中"全选"复选框.

我的加价:

<table>
    <thead>
        <tr>
            <th>Name</th>
            <th><input type="checkbox" data-bind="checked: SelectAll" /></th>
        </tr>
    </thead>
    <tbody data-bind="foreach: $data.People">
        <tr>
            <td data-bind="text: Name"></td>
            <td class="center"><input type="checkbox" data-bind="checked: Selected" /></td>
        </tr>
    </tbody>
</table>
Run Code Online (Sandbox Code Playgroud)

我的脚本(已编辑):

function MasterViewModel() {
    var self = this;

    self.People = ko.observableArray();
    self.SelectAll = ko.observable(false);

    self.SelectAll.subscribe(function (newValue) {
        ko.utils.arrayForEach(self.People(), function (person) {
            person.Selected(newValue);
        });
    });
}


my.Person = function (name, selected) {
    var self = this;

    self.Name = name;
    self.Selected = ko.observable(false);
}
Run Code Online (Sandbox Code Playgroud)

javascript checkbox selectall knockout.js

0
推荐指数
1
解决办法
6811
查看次数