GridView के साथ उपयोग के लिए DBContext को ऑब्जेक्ट कॉन्टेक्स्ट में कनवर्ट करें




entity-framework-4.1 ef-code-first (2)

इसे आजमाएं ->

protected void OrdersDataSource_ContextCreating(object sender, EntityDataSourceContextCreatingEventArgs e)  
{   
    var context = new YourContext();
    e.Context = ((IObjectContextAdapter)context).ObjectContext;
}

मेरे पास डेटा जारी रखने के लिए ईएफ कोडफर्स्ट का उपयोग कर एक वेबफॉर्म प्रोजेक्ट है। सीआरयूडी लिखने के लिए, मैं एक ग्रिड व्यू और एंटिटीडेटा स्रोत का उपयोग करना चाहता हूं। क्या यह संभव है?

क्या मैं अपने DBContext को ऑब्जेक्ट कॉन्टेक्स्ट में परिवर्तित कर सकता हूं जिसे EntityDataSource द्वारा अपेक्षित किया जा सकता है?

मैंने जो कोशिश की है वह यहां है:

<asp:EntityDataSource ID="OrdersDataSource" runat="server" ContextTypeName="SomeNamespace.Models.ShopDBContext" 
     EnableFlattening="False" EntitySetName="Orders" EntityTypeFilter="Order" EnableDelete="False" 
     EnableUpdate="False" Include="OrderLines" OrderBy="it.Id"> 
</asp:EntityDataSource>

<asp:GridView ID="OrdersGridView" runat="server" AllowPaging="True" AllowSorting="True" 
     AutoGenerateColumns="True" DataKeyNames="Id" DataSourceID="OrdersDataSource" /> 

हालांकि मुझे यह अपवाद मिलता है:

'System.Data.Objects.ObjectContext' टाइप करने के लिए 'SomeNamespace.Models.ShopDBContext' प्रकार की ऑब्जेक्ट डालने में असमर्थ।


इसे इस्तेमाल करे:

var context = new YourDbContext();
var adapter = (IObjectContextAdapter)context;
var objectContext = adapter.ObjectContext;