2013-11-22 1 views
1
public class Denial 
{ 
    [Key] 
    public string DenialCd { get; set; } 
    [Required] 
    public string DenialDesc { get; set; } 

    public ICollection<CaseDenial> CaseDenials { get; set; } 
} 


public class CaseDenial 
{ 
    [Key] 
    public int ID { get; set; } 

    [Required] 
    public string DenialCd { get; set; } 

    [Required] 
    public int CaseId { get; set; } 

    [ForeignKey("DenialCd")] 
    public Denial Denial { get; set; } 
    [ForeignKey("CaseId")] 
    public Case Case { get; set; } 
} 

     var query = EntityQuery.from('CaseDenials') 
      .where("CaseId", "==", caseID) 
      .expand("Denial") 
      .orderBy("DenialCd").inlineCount(); 

Таблица событий CaseDenial для столбца DenialCd таблицы отказа. Выше запроса бриза приносит null для свойства навигации «Отказ» при извлечении записей из CaseDenials.Breeze .expand выборка null для навигационного объекта

ответ

1

Я предполагаю, что ваша модель EF не приписана «правильно». Я бы подтвердил, что вы можете выполнить операцию Entity Framework «Включить» на стороне сервера. Это то, что Бриз делает под обложками, когда вы вызываете клиентскую сторону «расширяться».

+0

.Include также не работает. Атрибуты не отличаются от других объектов, на которые работает .expand. – user2585299

+0

В том же запросе работает .expand («Случай»). – user2585299

+0

У меня проблема. Поскольку DenialCd является строковым свойством, .expand не работает. Когда я изменил его тип на int, работает .expand. Но я хочу, чтобы этот столбец имел строку типа. – user2585299

1

Насколько я знаю, если у вас есть 1 отказ с МНОГИХ случае отказов, то вы должны запросить следующим образом:

var query = EntityQuery.from('Denials') 
    .where("CaseDenial.CaseId", "==", caseID) 
    .expand("CaseDenial") 
    .orderBy("DenialCd").inlineCount(); 

Это должно работать. То, что вы можете попробовать, добавляет [InverseProperty("CaseDenials")]