Usuário com melhor resposta
Alterar schema em EF com CODE FIRST

Pergunta
-
Pessoal, existe alguma forma de alterar o schema para acessar as tabelas via SQL SERVER.
O problema acontece que aonde eu hospedo meu site, os schemas são criadas conforme o nome da base, e o EF com CODE FIRST coloca diretamente dbo.TABELA, e por isto não acha a tabela.
AbsMarlon Tiedt
www.sesmt.com.br
Respostas
-
Já achei a resposta.
Li vários post, alguns falavam para pegar um outro projeto e colocar junto com o projeto principal.
No link abaixo achei a solução. Simples e prática. Testei e funciona.
http://stackoverflow.com/questions/9341922/change-entity-framework-database-schema-map-after-using-code-first
Para registro, adiciono aqui o código antes e depois:
Antes:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; namespace ERP.Models { public class ERPCodeFirstContext : DbContext { public DbSet<CNAES> CNAES { get; set; } public ERPCodeFirstContext() { Database.SetInitializer<ERPCodeFirstContext>(null); } }
Depois:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; namespace ERP.Models { public class ERPCodeFirstContext : DbContext { public DbSet<CNAES> CNAES { get; set; } public ERPCodeFirstContext() { Database.SetInitializer<ERPCodeFirstContext>(null); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<CNAES>().ToTable("CNAES", schemaName: "ERP"); } } }
Estou gostando deste EF
Abs...Marlon Tiedt
www.sesmt.com.br- Marcado como Resposta Marlon Tiedt sábado, 2 de junho de 2012 00:45
Todas as Respostas
-
Marlon,
Você faz isto com um DataAnnotation na sua classe:
[Table("Cliente", Schema = "seuSchema")] public class Cliente { .. }
[]s,
Carlos dos Santos
blog: www.carloscds.net
twitter: @cdssoftware -
Já achei a resposta.
Li vários post, alguns falavam para pegar um outro projeto e colocar junto com o projeto principal.
No link abaixo achei a solução. Simples e prática. Testei e funciona.
http://stackoverflow.com/questions/9341922/change-entity-framework-database-schema-map-after-using-code-first
Para registro, adiciono aqui o código antes e depois:
Antes:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; namespace ERP.Models { public class ERPCodeFirstContext : DbContext { public DbSet<CNAES> CNAES { get; set; } public ERPCodeFirstContext() { Database.SetInitializer<ERPCodeFirstContext>(null); } }
Depois:
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data.Entity; namespace ERP.Models { public class ERPCodeFirstContext : DbContext { public DbSet<CNAES> CNAES { get; set; } public ERPCodeFirstContext() { Database.SetInitializer<ERPCodeFirstContext>(null); } protected override void OnModelCreating(DbModelBuilder modelBuilder) { modelBuilder.Entity<CNAES>().ToTable("CNAES", schemaName: "ERP"); } } }
Estou gostando deste EF
Abs...Marlon Tiedt
www.sesmt.com.br- Marcado como Resposta Marlon Tiedt sábado, 2 de junho de 2012 00:45