Да, должно работать без проблем при использовании .net 4, однако есть список известных проблем при использовании .net 4.5.Вам не нужно переустанавливать vs, чтобы получить версию 4.3.1 структуры сущностей, просто установите ее из галереи пакетов nuget, и, если вы используете .net 4, кажется, что все просто работает.
Проблемы, перечисленные приустановка EF4.3.1 в .net 4.5 включает в себя перечисленные ниже.
Известные проблемы с Entity Framework 4.x и .NET Framework 4.5
Entity Framework с 4.1 по 4.3 включал дополнительные аннотации данныхв пространстве имен System.ComponentModel.DataAnnotations в сборке EntityFramework.В .NET 4.5 эти аннотации были перемещены, чтобы стать частью .NET Framework в пространстве имен System.ComponentModel.DataAnnotations.Schema сборки System.ComponentModel.DataAnnotations.dll.Если вы используете EF 4.x и ориентируетесь на .NET 4.5, это приводит к двум аннотациям данных с одинаковым именем в разных сборках.Поскольку аннотации в .NET Framework находятся в другом пространстве имен, мы не смогли использовать переадресацию типов, чтобы избежать этого конфликта.
Можно использовать EF 4.x в .NET 4.5, но мы рекомендуем использоватьпоследняя предварительная версия EF 5. Если вы не используете уязвимые аннотации данных, это не повлияет на ваш код.Если вы используете аннотации данных в проекте C #, вы можете использовать модификатор extern, чтобы гарантировать, что ваш код использует аннотации из EntityFramework.dll (http://msdn.microsoft.com/en-us/library/e59b22c5(v=VS.80).aspx). Если вы используете новые аннотации из сборки System.ComponentModel.DataAnnotations.dll в.NET 4.5 они не будут обработаны Code First.
Это затронутые аннотации:
- Столбец
- ComplexType
- DatabaseGenerated
- DatabaseGeneratedOption
- ForeignKey
- InverseProperty
- MaxLength
- MinLength
- NotMapped
- Таблица