未捕获的类型错误:无法调用未定义的方法“Where”

本文关键字:未定义 调用 方法 Where 类型 错误 | 更新日期: 2023-09-27 18:34:22

我不确定此错误的原因是什么,但我正在尝试使用 linq query like 语句返回结果,以循环浏览位置列表,然后进行另一个循环以获取每个位置的所有用户。

linq 是可枚举的

var getList = function () {
        Ajax.Get({
            Url: ...,
            DataToSubmit: {id: properties.Id },
            DataType: "json",
            OnSuccess: function (roleData, status, jqXHR) {
                // bind role types
                bindModel(roleData);
                console.log("roles:", roleData.length);
                Ajax.Get({
                    Url: ....,
                    DataToSubmit: { pageNumber: 1, id: properties.Id },
                    DataType: "json",
                    OnSuccess: function (userData, status, jqXHR) {
                        console.log("users", userData.length);
                        var results = linq.From(roleData.RoleTypes)
                            .ForEach(userData.Users)
                            .Where('x => x.ContentRole == "' + roleData.ContentRole + '"').Any();
                        console.log(results);
})
})

错误:

var results = linq.From(roleData.RoleTypes)
                                .ForEach(userData.Users)
                                .Where('x => x.ContentRole == "' + roleData.ContentRole + '"').Any();

错误信息:未捕获的异常 (js):未捕获的类型错误:无法调用未定义的方法"位置"

未捕获的类型错误:无法调用未定义的方法“Where”

.哪里必须得到一个布尔谓词,但你正在向它传递一个字符串。尝试将其更改为类似

 .Where(x => x.ContentRole == roleData.ContentRole);