Mam projekt, który był skierowany na .NET 4.0 i używa EF 5.0. Po zmianie docelowego schematu na 4.5 (i aktualizacji odwołania do wersji 5.0 EF do używania zestawu .NET 4.5) wydaje się, że adnotacje danych już nie działają. Na przykład:Adnotacje danych EF nie działają po kierowaniu .NET 4.5
[Table("ApplicationSession", Schema = "Application")]
public class ApplicationSessionEntity
{
[Key, ForeignKey("GenericSession")]
public int GenericSessionID { get; set; }
...
pracował w porządku, ale teraz czasie wykonywania, DbContext
zgłasza InvalidOperationException
: Unable to determine the principal end of an association...
.
Mogę dodać wywołania Fluent api, aby rozwiązać ten problem (i robi to), ale wtedy nie rozpoznaje, że tabela nie jest w schemacie "dbo". Ponownie, wiem, że Fluent API może być użyty do rozwiązania tego problemu, ale dlaczego adnotacje danych nagle są ignorowane?
Dzięki!
Czy masz odniesienia do System.ComponentModel.Annotations? Adnotacje zostały przeniesione do tego zestawu w programie .NET Framework 4.5. Myślę, że może się zdarzyć, że w jakiś sposób kompilujesz się z adnotacjami z dawnymi anonacjami, a środowisko wykonawcze EF5 szuka nowych. Możesz nacisnąć F12 na stole i zobaczyć, gdzie idzie, aby to sprawdzić. – Pawel
@Pawel Mam odniesienia do System.ComponentModel.DataAnnotations. Uważam, że było to wymagane, gdy uaktualniliśmy do wersji EF 5.0. Próbowałem używać wersji .NET 4.0 i .NET 4.5 tego zestawu i oba wykazują takie samo zachowanie. – Rob
Czy masz gdzieś odniesienie do EntityFramework.dll, którego wersja jest 4.4.0.0? – Pawel