03/05/2017
O ASP.NET MVC 5 tem um novo recurso chamado Attribute Routing que permite que um desenvolvedor especifique a rota das ações da Controller, adicionando atributos de rota a eles. Abaixo, veremos como fazer.
RouteConfig e MapMVCAttributeRoutes
Primeiro, você precisa ativar o roteamento baseado em atributo no ASP.NET MVC 5 ao registrar suas rotas no RouteConfig.cs. É uma declaração simples de uma linha.
public static void RegisterRoutes(RouteCollection routes) { routes.IgnoreRoute("{resource}.axd/{*pathInfo}"); routes.MapMvcAttributeRoutes(); // ... }
Attribute Routing em ASP.NET MVC 5
Em seguida, você precisa criar uma Controller e algumas Actions. Neste caso, adicionamos um RoutePrefix para o QuemSomosController dizendo que todas as rotas de ação do controlador será prefixado com "quem-somos".
Agora, para a ação do controlador de índice eu apenas especifico como uma rota, o que significa que ele irá responder à rota "~/quem-somos", que é o prefixo da rota.
[RoutePrefix("quem-somos")] public class QuemSomosController : Controller { private BancoEntities db = new BancoEntities(); [Route] public ActionResult Index() { var equipe = db.EQUIPE.ToList(); return View(equipe); } }
É fácil ver a rota para uma ação de uma Controller, olhando o RoutePrefix e atributos de rota na Controller e Action no ASP.NET MVC 5.
Pronto! Agora já pode utilizar rotas personalizadas em suas Controller também!
Referências: davidhayden, codeproject e exceptionnotfound
28/04/2017
Provavelmente no seu servidor está instalado o MySql Connector versão 6.4.6, mas em seu ambiente de trabalho está com a versão 6.8.3.
Para resolver isto, basta adicionar essas linhas em sua Web.config:
<system.data>
<DbProviderFactories>
<remove invariant="MySql.Data.MySqlClient" />
<add name="MySQL" description="ADO.Net driver for MySQL" invariant="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlClientFactory, MySql.Data"/>
</DbProviderFactories>
</system.data>
Pronto, só publicar seu projeto que estará funcionando normalmente.
05/12/2016
Problema: Não mostra a referência do MySQL na tela "Choose Data Source".
Solução:
1 - Desinstale a versão mais recente / driver NET Connector (6.9.9)
2 - Instalar uma versão mais antiga (6.6.7) para que ele funcione. http://dev.mysql.com/downloads/connector/net/6.6.html
3 - Instale novamente a versão mais atual do driver.
Espero ter ajudado!!
01/12/2016
SOLUÇÃO:
1. Antes das etapas para solucionar o erro, verifique os seguintes pré-requisitos:
- Tenha instalado mysql-Installer comunidade -5.7.3.0-m13.msi ou instalados ambos mysql-VisualStudio-plugin-1.1.1.msi e mysql-connector-net-6.8.3.ms
2. Registrando prestadores EF:
- Remover a tag EntityFramework padrão da Web.config:
<entityFramework>
<defaultConnectionFactory type="System.Data.Entity.Infrastructure.LocalDbConnectionFactory, EntityFramework">
<parameters>
<parameter value="v11.0" />
</parameters>
</defaultConnectionFactory>
<providers>
<provider invariantName="System.Data.SqlClient" type="System.Data.Entity.SqlServer.SqlProviderServices, EntityFramework.SqlServer" />
</providers>
</entityFramework>
- Adicionar a seguinte tag EntityFramework:
<entityFramework>
<defaultConnectionFactory type="MySql.Data.Entity.MySqlConnectionFactory, MySql.Data.Entity.EF6" />
<providers>
<provider invariantName="MySql.Data.MySqlClient" type="MySql.Data.MySqlClient.MySqlProviderServices, MySql.Data.Entity.EF6" />
</providers>
</entityFramework>
3. Adicionar as seguintes referências para seu projeto ou verificar as versões:
- MySql.Data.dll
- MySql.Data.Entity.EF6.dll
- MySql.Web.dll
- C:\Program Files\MySQL\MySQL Connector Net 6.8.3\Assemblies\v4.5 (Windows 32 bits)
- C:\Program Files (x86)\MySQL\MySQL Connector Net 6.8.3\Assemblies\v4.5 (Windows 64 bits)
4. Dar Build em seu projeto
5. Volte a efetuar os seus passos para adicionar um ADO.NET Entity Data Model