O documento descreve o Entity Framework e suas migrações no .NET. Ele explica como habilitar migrações em um projeto, criar novas migrações, e atualizar o banco de dados usando os comandos Enable-Migrations, Add-Migration e Update-Database.
2. .Net Coders Webcast Entity Framework @MayogaX
Cenário
• A estrutura de um banco de dados pode
ser alterada
• Gerenciar versões de schemas de base
de dados não é simples
• Em código de aplicação podemos usar
versionadores
3. .Net Coders Webcast Entity Framework @MayogaX
Cenário
• Caminho comuns para lidar com isso são
procedures e scripts
• Já existem ferramentas para
versionamento de banco de dados
• Muitos ORMs já possuem módulos para
gerenciar essas versões
4. .Net Coders Webcast Entity Framework @MayogaX
O Entity Framework
• ORM da Microsoft
• Versão 6 sendo trabalhada desde agosto de 2012 e em alpha 3
E o símbolo é um unicórnio. O Magic Unicorn
• Roda por cima da Ado.Net
• Nasceu no service pack do .Net
framework 3.5
• É Open Source
• Trabalha tanto gerando base de dados
quanto com base já existente
5. .Net Coders Webcast Entity Framework @MayogaX
Entity Framework Migrations
• Meio de versionar as versões do schema
– Ainda não versiona procedures e functions
• Trabalha vigiando suas classes de
entidades
• Possibilita fazer o update e o downgrade
• Os códigos das migrations são com C#
6. .Net Coders Webcast Entity Framework @MayogaX
Código das Migrations
• No projeto em que você usa migrations
será criada uma pasta chamda Migrations
com um arquivo de classe para cada
migration
• O Configuration Migration é a classe
onterna que cuida das configurações de
Seed (configurações de inicialização de
base de dados) e sobre a
AutomaticMigration
8. .Net Coders Webcast Entity Framework @MayogaX
Enable-Migrations
• Habilita migrations no seu projeto e cria a
pasta Migrations com a classe de
configuração
• Syntax:
– Enable-Migrations [-
EnableAutomaticMigrations] [[-
ProjectName] <NomeDoProjeto>] [-
Force] [<ParametrosComuns>]
9. .Net Coders Webcast Entity Framework @MayogaX
Enable-Migrations
• Parametros possiveis:
– EnableAutomaticMigrations
• Habilita o Automatic Migrations (dãa)
– ProjectName <nome>
• Especifica o projeto da qual as entidades serão
“vigiadas”
– Force
• Força a configuração substituindo a anterior
10. .Net Coders Webcast Entity Framework @MayogaX
Add-Migration
• Cria uma migration nova com o nome
dados. O inicio do nome da classe de
scaffold será o timespan atual
• Syntax
– Add-Migration [-Name] <NomeDaMigration> [-
Parametros]
11. .Net Coders Webcast Entity Framework @MayogaX
Add-Migration
• Parametros:
– Name
• Indica o nome da migration
– Force
• Indica que vai reescrever os me´todos de scaffolding
– ProjectName
• Diz o nome do projeto na qual aquela migration vai
valer
– StartuProject
• Diz o nome do projeto que contem a connectionstring
12. .Net Coders Webcast Entity Framework @MayogaX
Add-Migration
• Parametros:
– ConfigurationTypeName
• Diz qual a configuração vai ser usada
– ConnectionStringName
• Útil caso você possua mais de uma connection string
no projeto
– ConnectionStringProviderName
• Diz o nome do provider utilizado, caso seja variavel na
sua connectionstring
– IgnoreChanges
• Indicada para se trabalhar com um banco de dados já
existente pois a migration criada vai possui métodos
vazios
13. .Net Coders Webcast Entity Framework @MayogaX
Update-database
• Atualiza o banco de dados
• Syntax:
– Update-Database [-SorceMigration] [-
TagretMigration] [-Script] [-Force]
[-ProjectName] [-StartUpProjectName]
[CommonParameters]
14. .Net Coders Webcast Entity Framework @MayogaX
Update-database
• Parametros
– SourceMigration
• Valido casado com o –Script para update apartir de
determinado ponto
– TagertMigration
• Caso você queira dar um downgrade, por exemplo.
Você passa depois o nome da migration
– Script
• Abre uma nova aba com o script gerado
– Verbose
• Mostra na Console o script gerado