Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/wpf/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Breeze#executeQuery返回空对象_Breeze_Breeze Sharp - Fatal编程技术网

Breeze#executeQuery返回空对象

Breeze#executeQuery返回空对象,breeze,breeze-sharp,Breeze,Breeze Sharp,我有Breeze.Sharp应用程序,它与不提供元数据的遗留WebAPI通信 查询似乎执行正确-返回了预期数量的对象,但所有对象均为空。修改查询参数也有效-返回对象的数量按预期更改。我在玩EntityManager.MetadataStore,但没有任何帮助 下面是我目前用来与WebAPI通信的最后一段代码 public class DokumentModelBreeze: BaseEntity { public string id { get; set; } public st

我有Breeze.Sharp应用程序,它与不提供元数据的遗留WebAPI通信

查询似乎执行正确-返回了预期数量的对象,但所有对象均为空。修改查询参数也有效-返回对象的数量按预期更改。我在玩EntityManager.MetadataStore,但没有任何帮助

下面是我目前用来与WebAPI通信的最后一段代码

public class DokumentModelBreeze: BaseEntity
{
    public string id { get; set; }
    public string numer { get; set; }
    public decimal suma { get; set; }
}    

...

Configuration.Instance.ProbeAssemblies(typeof(DokumentModelBreeze).Assembly);

var manager = new EntityManager("http://localhost:52357/api/");
manager.DataService.HasServerMetadata = false;

var store = manager.MetadataStore;
store.SetResourceName("dokumenty", typeof(DokumentModelBreeze), true);
store.NamingConvention = new CamelCasePropertiesNamingConvention();

var builder = new EntityTypeBuilder<DokumentModelBreeze>(store);
builder.DataProperty(d => d.id).IsPartOfKey();
using(TextWriter writer = File.CreateText("C:/metadata.txt")) {
    store.ExportMetadata(writer);

var query = new EntityQuery<DokumentModelBreeze>("dokumenty");
query = query.WithParameter("nrFirmy", 1).Where(p => p.numer=="123");
var results = await manager.ExecuteQuery<DokumentModelBreeze>(query);
List<DokumentModelBreeze> Dokumenty = new List<DokumentModelBreeze>();
foreach(var item in results)
    Dokumenty.Add(item);
我是否遗漏了什么,或者Breeze不允许在没有元数据的情况下查询WebAPI?
针对测试WebAPI执行的相同代码以及公开的元数据都能很好地工作。

您的GetValue和SetValue属性的定义必须如下所示:

    public string id
    {
        get { return GetValue<string>("id"); }
        set { SetValue(value); }
    }
公共字符串id
{
获取{return GetValue(“id”);}
set{SetValue(value);}
}
这是一种痛苦,我知道,但在我们一位令人敬畏的技术负责人指出这一点后,这为我解决了它:)

    public string id
    {
        get { return GetValue<string>("id"); }
        set { SetValue(value); }
    }