none
Dúvida - Conexão FluentNhibernate RRS feed

  • Pergunta

  • Estou tentando fazer a conexão com banco de dados SQL server, usando fluent nhibernate e para tal estou configurando o seguinte

    arquivo abaixo:

    using FluentNHibernate.Cfg;
    using FluentNHibernate.Cfg.Db;
    using NHibernate;
    using NHibernate.Tool.hbm2ddl;
     
    namespace FluentNhibernateMVC.Models
    {
        public class NHibernateHelper
        {
            public static ISession OpenSession()
            {
                ISessionFactory sessionFactory = Fluently.Configure()
                    .Database(MsSqlConfiguration.MsSql2008
                      .ConnectionString(@"Data Source=(LocalDB)\v11.0;AttachDbFilename=C:\data\Blog\Samples\FluentNhibernateMVC\FluentNhibernateMVC\FluentNhibernateMVC\App_Data\FNhibernateDemo.mdf;Integrated Security=True") 
                                  .ShowSql()
                    )
                   .Mappings(m =>
                              m.FluentMappings
                                  .AddFromAssemblyOf<Employee>())
                    .ExposeConfiguration(cfg => new SchemaExport(cfg)
                                                    .Create(false, false))
                    .BuildSessionFactory();
                return sessionFactory.OpenSession();
            }
        }
    }
    A dúvida é a seguinte, na linha:
    .Create(false, false))
    O que muda se alterar ambos para true e o que cada um desses parâmetros fazem ?


    segunda-feira, 26 de agosto de 2019 21:44

Todas as Respostas

  • Bom dia, tudo bem?

    SchemaExport.Create é basicamente um SchemaExport.Execute com dois argumentos pré definidos, veja abaixo:

    public void Create(bool script, bool export){
            Execute(script, export, false, true);
        }

    Enquanto o método Execute é:

    void Execute(bool script, bool export, bool justDrop, bool format)
     

    Espero ter ajudado. Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    terça-feira, 27 de agosto de 2019 14:27
    Moderador
  • Bom dia, tudo bem?

    SchemaExport.Create é basicamente um SchemaExport.Execute com dois argumentos pré definidos, veja abaixo:

    public void Create(bool script, bool export){
            Execute(script, export, false, true);
        }

    Enquanto o método Execute é:

    void Execute(bool script, bool export, bool justDrop, bool format)
     

    Espero ter ajudado. Atenciosamente, 


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.

    Obrigado pela resposta, mas não entendi. poderia ser mais claro por favor ?
    terça-feira, 27 de agosto de 2019 15:48
  • Eu fiz algumas pesquisas anteriormente e não consegui encontrar o significado dos parâmetros passados para o método SchemaExport.Execute, sabe-se apenas os seus nomes.

    São quatro variáveis lógicas (bool): script, export, justDrop e format.

    A úncia instrução no método SchemaExport.Create é chamar o método SchemaExport.Execute, porém pré-definindo as variáveis justDrop e Format como, respectivamente, false true . Os dois parâmetros passados ao SchemaExport.Create são usados apenas para serem repassados ao SchemaExport.Execute, para preencher as duas variáveis restantes: script e export.

    Exemplificando em código:

    void Create(A, B){
            Execute(A, B, false, true);
    }
     

    Atenciosamente,


    Igor F. Kunrath

    Esse conteúdo é fornecido sem garantias de qualquer tipo, seja expressa ou implícita

    MSDN Community Support

    Por favor, lembre-se de Marcar como Resposta as postagens que resolveram o seu problema. Essa é uma maneira comum de reconhecer aqueles que o ajudaram e fazer com que seja mais fácil para os outros visitantes encontrarem a resolução mais tarde.


    quarta-feira, 28 de agosto de 2019 12:59
    Moderador