Introduced a broken test for a Model whose subclass is attached to the DbContext. GetKeysFor() calls GetFirstBaseType() naively without checking to see which class is actually tied to the DbContext (in fact, it's possible both are), and then asks the DbContext for the base class's DbSet - which in this case, there is none. That throws an Exception inside a yield IEnumerable, several methods deep in recursion - pretty hard for calling code to debug.