21 de jun. de 2014

Migrations – Executando as atualizações automaticamente


Primeiro vamos mudar a classe para “public class”, pois precisaremos refenciá-lá posteriormente. 
Depois vamos ativar a propriedade da migração automatica e por fim vamos marcar a opção que dados podem ser perdidos durante a migração. Esta última opção fica a seu critério, pois se você não habilitar a opção e o Migrations não conseguir atualizar o banco de dados. você receberá um erro.



Adicionar a chamada do DatabaseSetInitializer() com a opção MigrateDatabaseToLastVersion, o que faz com que nosso banco de dados seja sempre atualizado de acordo com as nossas classes.
public class Contexto : DbContext
    {
        public DbSet Cliente { get; set; }

        public Contexto()
        {
            Database.SetInitializer(new MigrateDatabaseToLatestVersion());
        }
    }

Fonte: http://msdn.microsoft.com/pt-br/library/jj856238.aspx

13 de jun. de 2014

Recebendo uma classe como parâmetro e disparando um método!



  1. Recebendo uma classe já instanciada como parâmetro.
  2. Descobrindo o tipo dela.  ClasseInstaciada.GetType();
  3. Pesquisando se existe o método: tipo.GetMethod("MetodoPublico"new Type[] { typeof(string) });
  4. Disparando o método: mi.Invoke(ClasseInstaciadanew object[] {"DEU CERTOOOOOOOOOO"});

using System;
using System.Reflection;

namespace ConsoleApplication2
{
  class Program
  {
    static void Main(string[] args)
    {
      MetodoB(new ClasseSimples());
      Console.ReadKey();
    }

    public static void MetodoB(object ClasseInstaciada)
    {
      //Como disparar o Método MTDPublico da classe ClasseSimples????
      //Ex: AA.teste() ??????????????????????

      //Pega o TIPO dela primeiro
      Type tipo = ClasseInstaciada.GetType();
      //Pesquisa dentro da classe se existe o Método
      MethodInfo mi = tipo.GetMethod("MetodoPublico", new Type[] { typeof(string) });     
      //Dispara o método
      mi.Invoke(ClasseInstaciada, new object[] {"DEU CERTOOOOOOOOOO"});
    }
  }

  public class ClasseSimples
  {
    public void MTDPublico(string MSG)
    {
      Console.WriteLine(MSG);
    }
  }
}

 Fonte: https://dbaexperts.tech/wp/database/como-funciona-inner-join-left-join-right-join-y-full-join/