/ / Entity Framework 5 brakujących asocjacji - sql-server, visual-studio, entity-framework

Entity Framework 5 brakujące powiązania - sql-server, visual-studio, entity-framework

Próbuję usprawiedliwić przy użyciu EntityFramework i upadając na pierwszym przeszkodę.Mam za pomocą bazy danych pierwsze podejście. Oto, jak to wygląda w SQL Server 2008 R2:

diagram db

Jak widać, BARDZO prosta domena. Związek jest relacją jeden do wielu między User.Id i Blog.UserId.

Jednak nawet w przypadku tej niewiarygodnie prostej domeny EF nie działa. Kiedy importuję tabele, otrzymuję to:

Model EF

Jak widać, nie ma związku. Relacja już nie istnieje i nieważne, ile razy usuwam, regeneruję, nie pojawi się. "Sprawdzanie kolumn klucza obcego w modelu" jest zaznaczone.

Jeśli jednak utworzę tabele oparte na kluczach opartych na intach zamiast na identyfikatorach GUID, zostaną utworzone relacje.

Czy to błąd, ograniczenie czy moja własna głupota?

Nie wzbudzają one mojej pewności siebie, jak na Ziemi będzie ona działać w prawdziwym scenariuszu, z setkami tabel i tysiącem skojarzeń?

  • VS 2012
  • SQL Server 2008 R2
  • EF 5

Odpowiedzi:

6 dla odpowiedzi № 1

Rozwiązałem problem. Problem został spowodowany przez nieuczciwy indeks, którego nie znałem na stole.

Jeśli istnieje indeks UNIQUE w tym samym polu, co klucz podstawowy, spowoduje to, że EF nie wygeneruje w ogóle relacji PK-FK.

Po prostu usunięcie niepotrzebnego unikalnego indeksu (pierwotnie wymusza unikatowość), projektant EF natychmiast podniósł relację.