Во-первых, зачем вам в DBContact поле Id? Оно там не нужно.
Во-вторых, разница между Contacts и Contacts1 не ясна, нужно называть поля более понятно.
В-третьих, связывание таблиц происходит в файле, где определён DbContext, возможно ошибка в нём.
да, Code First.
Без ID в DBContact не дает создать таблицу (миграции).
Contacts - контакты, который имеет данный пользователь (подсказка MSSQL)
Contacts1 - контакты, в которых есть данный пользователь (подсказка MSSQL)