Inside a desktop application, I have to store a 'database' of patient names with simple information, which could later be looked through. I'd expect normally around 1,000 patients total. Each patient must be associated with test results too, although these mayOris going to be saved seperately in the patients themselves.

Is really a database the very best solution with this, or overkill? Generally, we'll simply be searching with different patient's first/surname, or ID amounts. All data is going to be saved using the application, and never shared outdoors from it.

Any suggestions on the best way to keep these kinds of data organized? The technique for storing the separate test information is what appears to stump me if not using databases, and keep it from the patient.

Off the top my mind, given a List<Patient>, I know several LINQ instructions to create searching very simple, however with a listing of just one,000 - 10,000 patients, I am unsure if there's any performance concerns.

Make use of a database. Due to the fact that which you expect and what you'll get (especially within the long-term) tend be two completely different things.

This really is completely unrelated for your question on the technical level, but they are you carrying this out for an organization within the U . s . States? What type of patient data are you currently storing?

Perhaps you have investigated HIPAA needs and checked to ascertain if you are a covered entity? Make sure that you are submission with all of legal rules and needs!

I believe 1000 would be to much to try and store in XML. I'd opt for an easy db type, like access or Sqlite. Yes, ought to be fact, I'd most likely use Sqlite. Sql Server Express is most likely overkill for this. http://sqlite.phxsoftware.com/ may be the .internet provider.

I would suggest a database. You should use SQL Server Express for something of that nature. Attempting to use XML or something like that similar would most likely get beyond control with this many rows.

For more compact databases/applications such as this I have yet to see any performance hits by using LINQ to SQL or Entity Framework.

I'd use SQL Server Express since it has got the best tool support (IDE integration) from Microsoft. I do not use whatever reason to think about it overkill.

Here's an article on how to embed it directly inside your application (no separate installation needed).

Should you have had read-only files supplied by another party in certain type of standard format that have been intended to be utilized by the applying, i quickly would consider simply indexing them based on your use cases and running your searches and UI against that. But that is still some personalized work.

Relational databases are ideal for storing data in tables, as well as for representing the associations between tables. Typically you will find also good tools to get the information out and in.

You will find others you could utilize to keep your computer data, but none of them which may so rapidly be planned for your input (you did not mention the way your data would enter into this technique) after which be queryable against with least effort.

Now, which database to select...

Use Database...but maybe just SQLite, rather than a completely fledged database like MS SQL (Express).