I had the same Problem and was finally able to get the test running by creating the mock as follows:
var mockContext = new Mock<MyDbContext>() { CallBase = true };
As I understand it, the Mock otherwise does not call base class implementations. And those Keys will probably be defined in the base class implementation of - I guess - OnModelCreating.