首先使用EF 5 db扩展不使用Breeze 1.4

时间:2014-08-28 13:21:52

标签: entity-framework odata breeze

情况是breeze的expand函数不会返回任何实体。

背景: 使用没有合适驱动程序的遗留数据库,仅用于ef 5.因此,首先使用db。 Breeze版本是1.4.8 EF版本是5.0.0

什么有效: 从LinqPad开始,include()可以工作,一切都按照应有的方式返回。

Invoicings.Take(10).Include("MyInvoice").AsNoTracking()

AsNoTracking()存在,否则会返回错误:

  

属于对象键的属性的值不匹配   ObjectContext中存储的相应属性值。这个   如果属于键的属性返回不一致,则可能发生   或不正确的值或更改后未调用DetectChanges   属于作为钥匙一部分的财产。

Controller(api)以这种方式提供Invoicings功能:

[HttpGet]
        public IQueryable<Invoicing> Invoicings()
        {
            return _repository.Invoicings.AsNoTracking();
        }

使用上面的api,下面的odata-query从关联MyInvoice返回null。这也是Breeze称之为web api的方式。

  

localhost..Invoicings $滤波器= SubsetLinkToPerson%20当量%2012345米&安培​​; $扩大= MyInvoice

但是当我将api函数的修饰更改为:

[HttpGet, Queryable]

然后上面的odata-query很好地检索并填充MyInvoice关联。但这仍然无助于Breeze。它只是表明服务器端具有用于odata工作的密钥和关联。

有没有办法让这项工作成为Breeze方式?

0 个答案:

没有答案
相关问题