SfDatagrid - Entity Framework "adding row" issue
Hi,
I've got a SfDataGrid which is data bound to an ObservableCollection of Entity Framework items.
When I add a new row and load the Entity Framework items again* an error message pops up:
Message=Das Objekt des Typs "DataLayer.EntitiesDB.SequenceEditorItem" kann nicht in Typ "System.Data.Entity.DynamicProxies.SequenceEditorItem_5090EDC7CFDC945E13DBDF0872CAB31598B97FE519E86F7BE4466D584C2402D6" umgewandelt werden. HResult=-2147467262System.InvalidCastException was unhandled
* Database.Hardware.Load();
hardwareViewSource.Source = Database.Hardware.Local;
hardwareViewSource.Source = Database.Hardware.Local;
Using the common MS DataGrid this does not happen. Furthermore Database.SaveChanges() does not solve the problem. What can be the reason for this?
I'm using VS2015, .NET4.6.1, EF6.1.3
SIGN IN To post a reply.
2 Replies
JZ
Jonas Züger
September 9, 2016 12:09 PM UTC
Addendum:
After first investigation it seems that the SfDataGrid creates a "normal" object whereas the MS Datagrid creates an Entity Framework proxy item. Loading this back to the SfDataGrid causes an InvalidCastException.
Now my question is a more concrete: Is it possible to tell SfDataGrid to create a proxy item by the built in "add row" function?
JG
Jai Ganesh S
Syncfusion Team
September 12, 2016 12:47 PM UTC
Hi Züger,
We have analyzed your query. You can achieve your requirement to add a new row in SfDataGrid when using EntityFrameworkCollection by wiring the AddNewRowInitiating event and save the changes like below,
|
this.datagrid.AddNewRowInitiating += datagrid_AddNewRowInitiating;
void datagrid_AddNewRowInitiating(object sender, AddNewRowInitiatingEventArgs args)
{
Category newRecord = args.NewObject as Category;
Category category = new Category();
category.Description = newRecord.Description;
using(Entities entity=new Entities())
{
entity.Categories.Add(category);
entity.SaveChanges();
}
} |
UG Link:
If you still facing the issue after trying the above way, then could you please set SourceType(Underlying Collection type) in your sample to resolve this issue like below,
|
<syncfusion:SfDataGrid x:Name="dataGrid"
AddNewRowPosition="Top"
AllowEditing="True"
AllowFiltering="True"
AllowGrouping="True"
AllowSorting="True"
AutoGenerateColumns="True"
SourceType="{x:Type local:Category}"
ItemsSource="{Binding Orders}" />
|
Regards,
Jai Ganesh S
SIGN IN To post a reply.
- 2 Replies
- 2 Participants
-
JZ Jonas Züger
- Sep 9, 2016 09:28 AM UTC
- Sep 12, 2016 12:47 PM UTC