Knockout.js 二进制谓词的左侧不能是文字表达式,它必须是有效的属性或函数谓词表达式:PropertyName
我是新来的。我的spa应用程序使用breeze、Knockout、EF和MVC框架 我的POCO实体定义是Knockout.js 二进制谓词的左侧不能是文字表达式,它必须是有效的属性或函数谓词表达式:PropertyName,knockout.js,breeze,Knockout.js,Breeze,我是新来的。我的spa应用程序使用breeze、Knockout、EF和MVC框架 我的POCO实体定义是 public partial class Tbl_GLB_Library { System.Guid ID { get; set; } public string FileName { get; set; } public string Extension { get; set; } public Nullable&l
public partial class Tbl_GLB_Library
{
System.Guid ID { get; set; }
public string FileName { get; set; }
public string Extension { get; set; }
public Nullable<long> Size { get; set; }
public string Description { get; set; }
public Nullable<System.DateTime> CreationTime { get; set; }
public Nullable<System.DateTime> LastWriteTime { get; set; }
public Nullable<System.DateTime> LastAccessTime { get; set; }
public byte[] FileData { get; set; }
public string FilePath { get; set; }
public byte[] RowVersion { get; set; }
}
在获取元数据和一些数据之后,我需要查询缓存的数据
query = breeze.EntityQuery.from("Tbl_GLB_Library").where(breeze.Predicate.create('FileContent', breeze.FilterQueryOp.Equals, null));
return Manager.executeQueryLocally(query);
此场景适用于所有映射的属性,但对于未映射的属性
FileContent
,引发了异常!如何解决此问题?是否将NamingConvention设置为camelCase?如果谓词的左侧表达式的大小写错误,则会出现此错误消息。只要尝试将其更改为fileContent,您就会很快知道这是否是问题所在。我使用的是PascalCase,而不是breeze的设置。默认情况下,NameConvention值为“NamingConvention.none”,表示“无更改”。
query = breeze.EntityQuery.from("Tbl_GLB_Library").where(breeze.Predicate.create('FileContent', breeze.FilterQueryOp.Equals, null));
return Manager.executeQueryLocally(query);