03/26/2014 23:14:07
By Felipe Pessoto
Há algum tempo tive problemas com o MiniProfiler e o Entity Framework 6, até que lançaram uma nova versão beta que suporta o EF6.
Porém o MiniProfiler continuava usando o método antigo de interceptação que criava uma wrapper nos providers, conexões, comandos, etc. Que não é mais necessário, além de estar no limite da gambiarra.
Além disso tinha um grande problema, não funcionava com outras ferramentas que também usavam o método antigo, por exemplo o EFProf.
Criei um tópico no forum de suporte e acabei desenvolvendo uma nova implementação do MiniProfiler.EF6, dessa vez usando um Interceptor, evitando gambiarras e com o código muito mais simples, além de agora também mostrar o valor e informaçoes sobre os parametros das queries. E agora funciona com o EFProf.
Seguem os links das discussões e o pull request no GitHub:
http://community.miniprofiler.com/t/miniprofiler-efprof-doesnt-work/239
http://community.miniprofiler.com/t/will-mini-profiler-support-ef6/19/9
https://github.com/MiniProfiler/dotnet/pull/44
12/12/2012 21:27:15
By Felipe Pessoto
O Entity Framework, que está sendo desenvolvido de forma Open Source no Codeplex, acaba de receber mais um release Alpha, cerca de um mês após o primeiro. A intenção é colher o feedback dos desenvolvedores, pra isso basta iniciar um tópico no Fórum do Codeplex.
Novidades desde o Alpha 1:
Em alguns casos será necessário atualizar o código pra funcionar na nova versão do Entity Framework.
O Alpha 2 já se encontra no NuGet.
10/16/2012 23:32:28
By Felipe Pessoto
Já faz algum tempo que terminei de ler este livro mas não tive a oportunidade de comentar sobre ele.
Você pode pensar, um livro sobre Entity Framework? Mas não é só sair usando? Sim você pode, mas como qualquer ORM o Entity Framework é uma abstração, que tenta ser o mais transparente possível, mas o mundo relacional e orientado a objetos é bem diferente e nem tudo acaba se comportando como a gente espera por isso é importante tem uma noção de coisas as coisas funcionam. Isso vale pra qualquer biblioteca ou framework, seja NHibernate, ASP.NET, BCL, etc, quando as coisas dão errado e algo parece estranho ou ser um bug, normalmente o problema é algum detalhe no nosso código que não é tão óbvio quando não conhecemos bem o funcionamento da ferramenta.
Read more...
07/19/2012 21:39:58
By Felipe Pessoto
Hoje foi anunciado em diversos blogs dos developers da Microsoft sobre a abertura do código fonte do Entity Framework. É a primeira vez que o código do Core do .NET é aberto, apesar dos planos de migrar o Entity Framework 6 para um projeto separado, o que é ótimo.
Há muito tempo eu já pedia para tornarem o EF Open Source, mas não tinha tanta esperança que acontecesse realmente, já que nunca o Core do .NET foi liberado.
Nos últimos anos temos visto várias iniciativas da Microsoft aderindo ao Open Source, um dos principais projetos foi o ASP.NET MVC, que iniciou como um Open Source "one way" pois não aceitavam contribuição da comunidade, mas já foi um grande avanço, facilitando muito a interoperabilidade com o Linux/Mono. Alguns anos depois o ASP.NET MVC assim como suas dependencias(Razor, entre outros) foram distribuidos com a licença Apache, muito mais permissiva, além de agora aceitarem contribuições da comunidade. E agora um componente do Core do .NET Open Source e aceitando contibuições, parece até mentira.
Não só o Core do Entity Framework foi aberto como todas suas "peças": pacotes NuGet, Code First, DbContext e o Entity Framework Power Tools. Para baixar o código ou criar um fork você pode acessar o projeto do Entity Framework no Codeplex. Lá tem todas as informações sobre como contribuir, as regras, etc.
O anuncio foi feitos em vários blog: ScottGu, ADO.NET, o Scott Hanselman também deu sua opinião, assim como o Arthur Vickers, desenvolvedor do EF. O Arthur também postou uma série explicando como contribuir com o projeto e algumas coisas sobre como o Entity Framework funciona.
No codeplex tem uma página interessante, com as atas das reuniões semanais que o time do Entity Framework realiza, é interessante para acompanhar o desenvolvimento do projeto e opinar sobre as decisões feitas.
05/09/2012 23:16:00
By Felipe Pessoto
Rowan Miller explained how to script Migrations from code, but his code was write using a pre-RTM version of Code First Migrations and doesn´t work when using EntityFramework 4.3.1.
I did some reflector work and get a solution that should work.
The most obvious difference is that some classes was renamed. Another point, at least in my case I needed to configure some additional things, like MigrationsAssembly
and MigrationsNamespace, these properties are used to find Code-Based migrations, that is what I want instead of use Automatic Migrations.
The code that does the magic:
System.Data.Entity.Migrations.DbMigrationsConfiguration configuration =newSystem.Data.Entity.Migrations.DbMigrationsConfiguration();
configuration.ContextType=typeof(FujiyBlogDatabase);//TODO Change to your DbContext
configuration.MigrationsAssembly= configuration.ContextType.Assembly;
configuration.MigrationsNamespace="FujiyBlog.Core.Migrations";//TODO Namespace that contains your migrations classes
var migrator =new System.Data.Entity.Migrations.DbMigrator(configuration);
if(true)//TODO Do you want the script or Update de database?
{
var scriptor =newSystem.Data.Entity.Migrations.Infrastructure.MigratorScriptingDecorator(migrator);
string script = scriptor.ScriptUpdate(sourceMigration:null, targetMigration:null);
}
else
{
migrator.Update();
}