Solved

Saving data from observablecollection to database

Posted on 2011-09-19
10
2,334 Views
1 Endorsement
Last Modified: 2013-11-12
I have a WPF datagrid in my UI that is bound to the observablecollection in my viewModel, which I had converted from DataSet (coming from the Model).
I need to know how can I implement the  Delete, Update, and Add operations and save the changes in the database. I have a separate button-events for all these operations.
I am using MVVM pattern.
Please provide code in C#.
1
Comment
Question by:Masterabhi
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
10 Comments
 
LVL 30

Expert Comment

by:anarki_jimbel
ID: 36564234
0
 

Author Comment

by:Masterabhi
ID: 36568498
I am still not able to understand how I am going to save changes back to database from my observable collection.
0
 

Author Comment

by:Masterabhi
ID: 36574474
I am also trying to make changes using, udatesourcetrigger=explicit in order to make changes when I hit save button. How should I bind save button to those changes?What should I write in Save command button? and
Please help. Thanks.
0
MS Dynamics Made Instantly Simpler

Make Your Microsoft Dynamics Investment Count  & Drastically Decrease Training Time by Providing Intuitive Step-By-Step WalkThru Tutorials.

 
LVL 96

Expert Comment

by:Bob Learned
ID: 36577909
Are you using anything like Entity Framework, NHibernate, or LINQ-to-SQL?  If not, that might be a better choice, rather than translating from classes to a ADO.NET classic structures.
0
 

Author Comment

by:Masterabhi
ID: 36580714
No I am not using Entity Framework, Nhibernate or Linq to sql.
I am not able to get the Modified observable collection to save into the database.
0
 
LVL 96

Expert Comment

by:Bob Learned
ID: 36580775
I believe that WPF works a lot better with a ORM system, rather than classic ADO.NET classes, since they don't have to go through any conversion to/from the database, and would keep track of changes.  Otherwise, you would need to keep track of object state, and then make sure that the DataSet state is correct when updating back to database.  I can see so many reasons why that would be a problem.
0
 
LVL 4

Accepted Solution

by:
theHollow earned 500 total points
ID: 36593702
To clear something up:
You are not able to post anything back to the database automatically from an ObservableCollection.
That is not the way an ObservableCollection works.
An ObservableCollection is simply a list/enumerable-like type which also implements change notification events (for Binding/UI purposes).

In order to post anything back to the source, you will need to do in reverse what you did to get the data into the collection in the first place.

If you like automation, you may follow the good recommendations from TheLearnedOne and look into ORM models, like Entity Framework, Nhibernate or Linq. That will do the trick.
0
 

Author Closing Comment

by:Masterabhi
ID: 36958996
Thanks
0

Featured Post

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Entity Framework is a powerful tool to help you interact with the DataBase but still doesn't help much when we have a Stored Procedure that returns more than one resultset. The solution takes some of out-of-the-box thinking; read on!
SASS allows you to treat your CSS code in a more OOP way. Let's have a look on how you can structure your code in order for it to be easily maintained and reused.
Viewers will learn one way to get user input in Java. Introduce the Scanner object: Declare the variable that stores the user input: An example prompting the user for input: Methods you need to invoke in order to properly get  user input:
The viewer will learn the basics of jQuery including how to code hide show and toggles. Reference your jQuery libraries: (CODE) Include your new external js/jQuery file: (CODE) Write your first lines of code to setup your site for jQuery…

733 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question