我有一个包含 Sessions、Clinicians 和一个连接器表 CliniciansInSessions 的数据库。我正在尝试添加一个谓词来搜索具有临床医生姓名的会话。EntityNames 是 Sessions_Sessions --> Sessions_CliniciansInSessions --> Sessions_Clinicians。
我试图弄清楚为什么这个谓词:
var p5 = new breeze.Predicate("Sessions_CliniciansInSessions.Sessions_Clinicians.LastName", "contains", "Pras")
导致此错误:
{
$id: "1",
$type: "System.Web.Http.HttpError, System.Web.Http",
Message: "The query specified in the URI is not valid."
}
这是整个功能:
var loadSessions = function () {
var p1 = new breeze.Predicate("FormatID", "!=", "11");
var p2 = new breeze.Predicate("Year", "==", "2014");
var p3 = new breeze.Predicate("Approved", "==", "true");
var p4 = new breeze.Predicate("Sessions_Rooms.Room", "contains", "Ballroom")
var p5 = new breeze.Predicate("Sessions_CliniciansInSessions.Sessions_Clinicians.LastName", "contains", "Pras")//<--Problem Predicate: invaild query Uri
//var p5 = new breeze.Predicate("Sessions_Clinicians.LastName", "contains", "Pras") //<--Can't find property Sessions_Sessions error
var predicates = breeze.Predicate.and([p1, p2, p3, p4, p5]);
var query = breeze.EntityQuery.from("Sessions_Sessions")
.where(predicates)
.orderBy('StartTime, Title');
return my.manager.executeQuery(query).then(querySucceeded).fail(queryFailed);
function querySucceeded(data) {
my.vm.sessions(data.results);
};
function queryFailed(error) {
$("#error").append(error.message);
};
};
这是整个页面:
https://github.com/joshbula/LearningBreeze3/blob/master/LearningBreeze3/index.html
Session_Rooms 谓词似乎可以正常工作,所以我想知道是否存在导致问题或其他问题的多子事物?在我添加 p5 谓词之前,一切正常。
任何帮助将不胜感激。