Inquiridor
Como instalar o Entity 4.1 no VS 2012

Pergunta
-
Todas as Respostas
-
No repositório oficial do Nuget a versão do EF é a 5.0 EntityFramework. Para instalar:
No Solution Explorer:
1) Clique com botão direito na Solução em que deseja instalar:
2) Manage Nuget Packages
3) Vai abrir uma janela de gerenciamento, vá em Online
4) Na caixa de busca digite EntityFramework
5) A primeira opção será o que você deseja.
Se este estiver com um sinalizador de ícone verde, você já tem instalado. Então aconselho que vá em Installed packages, repita a busca e desinstale, depois repita o procedimento de instalação. Geralmente o package manager buga algumas coisas quando desinstalamos pacotes que tenham muitos dependentes, pode ser o seu caso.
Se não conseguir resolver o problema sugiro dar mais informações como exception, tipo de projeto, etc.
- Sugerido como Resposta Diego de Almeida Barreto (Lewis) sexta-feira, 16 de agosto de 2013 02:42
-
Então, isso eu já fiz e aparece um tick verde nessa opção, dizendo que já foi instalado. Vou ver a versão e é a 5.0.0. Bem, o que acontece é que eu não consigo usar o DbContext
public class Contexto: DbContext
{
public DbContext<TB_Afastado> AfastadoContexto { get; set; }
}Dá esse erro:
The non-generic type 'System.Data.Entity.DbContext' cannot be used with type arguments
-
Tools Library Package Manager > Package Manager Console, feito isso irá abrir um console para digitação.
Pegue o código no NuGet cole nesse console e de um Enter, automaticamente já será atualizado o seu Entity.
Se ajudou marca como resposta.
Vlws
-
Bom dia,
Você está usando errado. A classe de DbContext faz o trabalho de negociação com o banco de dados, mas você está tentando usá-la para incluir Entidades nesse contexto. Você deve substituir seu código por este:
public class Contexto: DbContext { public DbSet<TB_Afastado> AfastadoContexto { get; set; } }
Um DbSet representa as entidades que você possui dentro do seu contexto. Aconselho dar uma olhada aqui: Entity Framework Development Workflows.
-
Tools Library Package Manager > Package Manager Console, feito isso irá abrir um console para digitação.
Pegue o código no NuGet cole nesse console e de um Enter, automaticamente já será atualizado o seu Entity.
Se ajudou marca como resposta.
Vlws
-
Instalei o Entity Framework 5.0.0, pelo menos é o que parece, mas quando vou adicionar uma referência a versão que aparece é a 4.0.0. Usei o NuGet para instalar, mas acho que não rolou. Como eu faço?
Ok, Felipe, refiz dessa forma, mas não consigo o Namespace System.Data.Entity.DbContext, isso pq a versão do meu Frame é 4.0.0 e não 5.0.0 como eu achava ter instalado.
-
-
Sim, é asp.net(Web Forms)
Nem mexi no meu web.config
Abaixo meu web.config
<?xml version="1.0" encoding="utf-8"?> <!-- For more information on how to configure your ASP.NET application, please visit http://go.microsoft.com/fwlink/?LinkId=169433 --> <configuration> <configSections> <!-- For more information on Entity Framework configuration, visit http://go.microsoft.com/fwlink/?LinkID=237468 --> <section name="entityFramework" type="System.Data.Entity.Internal.ConfigFile.EntityFrameworkSection, EntityFramework, Version=5.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" requirePermission="false" /> </configSections> <connectionStrings> <add name="DefaultConnection" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\v11.0;Initial Catalog=aspnet-MP-20130814185609;Integrated Security=SSPI;AttachDBFilename=|DataDirectory|\aspnet-MP-20130814185609.mdf" /> </connectionStrings> <system.web> <compilation debug="true" targetFramework="4.5" /> <httpRuntime targetFramework="4.5" /> <pages> <namespaces> <add namespace="System.Web.Optimization" /> </namespaces> <controls> <add assembly="Microsoft.AspNet.Web.Optimization.WebForms" namespace="Microsoft.AspNet.Web.Optimization.WebForms" tagPrefix="webopt" /> </controls> </pages> <authentication mode="Forms"> <forms loginUrl="~/Account/Login.aspx" timeout="2880" /> </authentication> <profile defaultProvider="DefaultProfileProvider"> <providers> <add name="DefaultProfileProvider" type="System.Web.Providers.DefaultProfileProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> </providers> </profile> <membership defaultProvider="DefaultMembershipProvider"> <providers> <add name="DefaultMembershipProvider" type="System.Web.Providers.DefaultMembershipProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" enablePasswordRetrieval="false" enablePasswordReset="true" requiresQuestionAndAnswer="false" requiresUniqueEmail="false" maxInvalidPasswordAttempts="5" minRequiredPasswordLength="6" minRequiredNonalphanumericCharacters="0" passwordAttemptWindow="10" applicationName="/" /> </providers> </membership> <roleManager defaultProvider="DefaultRoleProvider"> <providers> <add name="DefaultRoleProvider" type="System.Web.Providers.DefaultRoleProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" applicationName="/" /> </providers> </roleManager> <sessionState mode="InProc" customProvider="DefaultSessionProvider"> <providers> <add name="DefaultSessionProvider" type="System.Web.Providers.DefaultSessionStateProvider, System.Web.Providers, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" connectionStringName="DefaultConnection" /> </providers> </sessionState> </system.web> <entityFramework> <defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework"> <parameters> <parameter value="v11.0" /> </parameters> </defaultConnectionFactory> </entityFramework> </configuration>
-
Eu fiz um compare e está praticamente igual ao meu funcional. Aconselho que faça o seguinte:
Arquivo:
1) Verifique se eu arquivo com o DbContext possui using System.Data.Entity; ele deve parece com isso:
using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Web; namespace WebApplication1.Model { public class Context : DbContext { /*Entidades*/ } }
Projeto:
1) Verifique se há em References da sua solução o assembly System.Data.Entity.
2) Caso não exista desistale todos os pacotes relacionados a EntityFrameWork no Nuget e instale apena o EntityFramework 5.0
Espero que solucione.
Att,
- Editado Filipe Augusto Lima de Souza sexta-feira, 16 de agosto de 2013 13:27
-
Como eu disse, tudo está ok, só que em Reference deveria aparecer a versão do Entity 5.0.0 e está vindo 4.0.0. Fiz a instalação do Entity pelo NuGet e nada aconteceu. Uma coisa eu não fiz e acho não ser necessário, mas vou fazer que é reiniciar o VS2012.
using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Listagem.Classes { public class Contexto: DbContext { public DbSet<TB_Afastado> AfastadoContexto { get; set; } public DbSet<TB_Dupla> DuplaContexto { get; set; } } }
- Editado pnet sexta-feira, 16 de agosto de 2013 16:20