O Code First with Migrations ou o SQL Server Data Tools é mais adequado?


11

Recebi uma especificação para criar um novo site MVC4; no início, não será um projeto muito grande, mas suspeito que ele cresça à medida que os negócios obtiverem novas idéias.

Usando o .NET 4.5 ASP.NET MVC4 e EF, eu tenho que escolher entre o primeiro código com migrações ou o Sql Server Data Tools (SSDT) ​​para manipular meu banco de dados.

Com o SSDT, posso controlar meu banco de dados em um projeto como parte da minha solução e lidar com as mudanças desde o desenvolvimento até a produção e além do uso de arquivos dacpac. Minha experiência de primeiro código do MVC3 não foi usá-lo além do desenvolvimento devido às opções limitadas do banco de dados. Sempre terminava com o Db na alteração de modelo ou manipulava as alterações de Db manualmente. No entanto, sou levado a acreditar que com o MVC4 Migrations não é mais o caso e agora posso enviar atualizações para o banco de dados.

Portanto, minha pergunta é qual é a mais eficiente a ser usada, com base na economia de tempo / esforço no desenvolvimento, mas também escalável e capaz de lidar com as mudanças na produção. Gostei do código primeiro e da capacidade de gerar meu banco de dados a partir de modelos. A introdução de migrações agora o torna viável na produção?

Respostas:


2

Minha opinião pessoal é que codefirst ótima ferramenta e ótimo para desenvolvimento. As etapas do primeiro desenvolvimento de banco de dados devem ser scripts de ferramentas externas ou manualmente, se você já tiver um banco de dados de produção.

O código a ser incluído no desenvolvimento do sistema de controle de versão do banco de dados e fornece um desenvolvimento de banco de dados distribuído.

Ponto de partida, é uma boa série:

http://coding.abel.nu/2012/02/using-entity-framework-to-create-a-database/


Você já experimentou o ssdt, capaz de comparar os 2?
James

1
Sim, eu o uso regularmente na versão anterior do SSDT. Procurei o mais novo nesses links: msdn.microsoft.com/en-us/jj650015 , sqlblog.com/blogs/jamie_thomson/archive/2013/03/21/… , develop.com/sqlservertwelvedatatools , blogs.msdn.com/ b / ssdt / archive / 2012/12/13 /… . Eu não tentei o teste de unidade de banco de dados, mas acho que a chave deve ser usada ao lado do codefirst e do SSDT.
Gábor Plesz 6/06/2013

Vou ler esses blogs em breve. Não achei o código primeiro e o SSDT funcionaria lado a lado. A menos que você queira dizer usar o código primeiro durante o desenvolvimento e mudar para SSDT para produção? Vou ler seus links!
James

Estou fazendo o primeiro método do código de desenvolvimento de banco de dados. A migração da codefirst resolve as etapas para instalar o banco de dados (criando uma nova tabela, uma nova coluna para uma tabela existente, etc.). Por exemplo, se você deseja criar testes de unidade de banco de dados , também pode usar o SSDT. Se queremos comparar duas estruturas , também podemos usar o SSDT. Pelo menos, então eu uso. Desenvolvimento e implantação de codefirst muito bom.
Gábor Plesz 6/06/2013

Pelo que pareço, o SSDT é perfeito para o Db First e de tudo que você disse e postou, parece que as opções de migração adicionadas ao MVC4 tornam o código primeiro utilizável além do desenvolvedor inicial!
James
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.