Я намагаюсь виправдовувати використання EntityFramework і потрапити до самого першого перешкоди. Я використовую перший підхід до бази даних. Ось як виглядає SQL Server 2008 R2:
Як ви бачите, ДУЖЕ простий домен. Асоціація є взаємовідносинами між User.Id та Blog.UserId.
Проте навіть з цим неймовірно простим доменом, EF не вдається. Коли я імпортую таблиці, я отримую це:
Як бачите, немає асоціації. Відносини зникли, і незалежно від того, скільки разів я видаляю, відновлююся, воно не з'явиться. "Включити стовпці зовнішньої ключа в моделі" перевіряється.
Однак, якщо я створюю таблиці на основі ключів на основі ints замість GUID, взаємозв'язки створюються.
Це помилка, обмеження чи моя власна дурість?
Це не надихає на мою впевненість. Наскільки він буде виконуватись у реальному сценарії зі сто столами та тисячами асоціацій?
- ВС 2012 року
- SQL Server 2008 R2
- EF 5
Відповіді:
6 за відповідь № 1Я вирішив цю проблему. Проблема була викликана індексом мошенника, якого я не знав, я мав на столі.
Якщо індекс UNIQUE знаходиться в тому самому полі, що і основний ключ, це призведе до того, що EF не зможе взагалі генерувати взаємозв'язок PK-FK.
Просто видалення непотрібного унікального індексу (перш за все унікальне в будь-якому випадку), дизайнер EF негайно підняв зв'язок.