The vast majority of the guides I've read just use mock-ups in place of a real database (supposedly for simplicity) and then don't explain how to actually use a real database.
The rest of them are...
complicated.
Most of the guides I've seen that use real databases are geared toward designing Enterprise applications and tend to involve terms like persistence ignorance, dependency injection, line of business, service layer, WCF, Entity Framework, POCOs, and inversion of control (not one of which I'd heard of a few weeks ago).
Ultimately all I'm trying to do is learn enough to make a personal DVD tracking program for myself. It should be a standalone desktop application. Not some huge enterprise thing.
The book I've been relying on (mainly because it breaks things down in a way I can
kinda understand),
MVVM Survival Guide for Enterprise Architectures in Silverlight and WPF specifically says:
You should only introduce a service layer in your project if it's
needed. Each new architectural feature we will cover in this text
will provide benefits for a cost. It's extremely important that you are
familiar with the trade-offs and only add what you need. If you are
writing an internal tool, adding a Service Layer might be overkill and
provide no ROI to your project.
Unfortunately, the way the book's structured, it introduces the service layer (and persistence ignorance and WCF) long before it gets around to the "no code in the code behind" part and I can't tell how to separate the two.
So here's the question: for a personal use program: how should I go about working with a database? Is WCF necessary? If so, how do you set it up to create a standalone application? If not, what should I do instead?
(If you need more details of the program I'm trying to create, please say so and I'll include them.)