A harsh reminder that you can't forget what's below the abstraction
I've created a content part that had an innocent little property called Index (what, for the historical accuracy, was of type int), and below that there was a similarly named property in the part record. Guess what I got when I tried to use this?
System.Data.SqlServerCe.SqlCeException: There was an error parsing the query.
[ Token line number = 1,Token line offset = 402,Token in error = Index ]
Also some other rather cryptic ones. Now what's the issue? "Index" is a keyword in SQL of course so it can't be used, or at least not in the way the generated query wanted it (because there was no issue running the migrations). See, SQL is haunting your high-level, pure-OO dreams!