0

I have a C# data structure which consists of classes and collections which have references to each other. Currently I am using Serialization to store the structure in XML, which works as a handy way to save/load the structure into my application.

If I want to be able to save/load the structure into a database, is there a simple way? Should I use LINQ?

3 Answers 3

2

Just to be 100% clear LINQ has nothing to do with storing data in a database. LINQ is a language query for c# with syntax that resembles SQL.

So in order to answer your question you could look at the Entity Framework (I'd recommend this if you are using .NET 4.0) or LINQ to SQL

Sign up to request clarification or add additional context in comments.

2 Comments

Thank for that. I've just been reading about LINQ and realised the same (and realised that my question now looks really noobish!). I'll check out the Entity Framework..
The whole naming of LINQ and LINQ to blah is very confusing. Microsoft could have done better with their naming.
1

It currently depends on your needs, and the db engine you are using:

  • If you need to perform queries against the XML contents you can use a XML field (mssql and oracle do support them).
  • If you only need to store/retrieve it, just store it in a long string field (NText in sqlserver. NCLob in Oracle).

1 Comment

Thanks for this. I'll read up about XML fields. I'll mark an answer once I've finished all this reading!
0

Have you tried NHibernate?

EDIT: I don't know if this would be ok for you, but if you can define DB tables to hold your data structures, you could have code auto-generated using LINQ to SQL. Check ScottGu's tutorial on LINQ to SQL. If your data structures are not changing too often this could be a good way to go.

1 Comment

Not yet. I'll take a look thanks. I was wondering if there was a built-in way of doing this - like the XML serializer - rather than using third party code?

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.