2014-02-15 2 views
1

im binding List<T> к моему GridView где T - объект, созданный EntityFramework из моей базы данных. В моей таблице есть внешний ключ, и я хочу отобразить его соответствующее текстовое значение в GridView.ASP.NET WebForms Model Binding GridView Использование Entity Framework 5.0.0.0

<asp:TemplateField HeaderText="Foreign Key Type"> 
      <ItemTemplate> 
       <asp:Label ID="LabelID" Visible="true" runat="server" 
         Text="<%# Item.<foreignKeyTable>.Text %>" > 
       </asp:Label>            
      </ItemTemplate> 
</asp:TemplateField> 

когда я делаю, что я получаю следующую ошибку

Операция не может быть завершена, поскольку DbContext был удален.

, как я могу получить пройти эту

ответ

1

Скорее всего, у вас есть код запроса, который выполняет следующие действия:

using (var ctx = new SomeContext()) 
{ 
    var data = ctx.Data.Where(..).ToList(); 
    return data; 
} 

Вы не можете иметь с использованием, но в любом случае, контекст имеет это Dispose() на нем, и любые незагруженные навигационные свойства будут всегда терпеть неудачу, потому что для него не существует контекста. Даже если вы можете использовать контекст внутри метода и не можете его хранить глобально, если вы явно не используете контекст, вызывая метод или с помощью инструкции using, вы будете в порядке.

+1

Я использовал функцию «GenericRepo» для получения всех функций, теперь я переопределил ее в конкретном репо и использовал 'Include' для загрузки нагрузки связанного объекта ... tnx для вашего ввода –

Смежные вопросы