Bom dia amigos;
Sou novo com o Fluent NHibernate e criei está Sesseão Factory
public class SessionFactory
{
private static ISessionFactory session;
public static ISessionFactory CriarSession()
{
string stringConn = @"Data Source=(localdb)\MSSQLLocalDB;Initial Catalog=pdv;Integrated Security=True;"
+ "Connect Timeout=30;Encrypt=False;TrustServerCertificate=True;ApplicationIntent=ReadWrite;MultiSubnetFailover=False";
if (session != null)
return session;
IPersistenceConfigurer configDB = (MsSqlConfiguration.MsSql2012.ConnectionString(stringConn).ShowSql());
var configMap = Fluently.Configure().Database(configDB)
.Mappings(M => M.FluentMappings.AddFromAssembly(Assembly.GetExecutingAssembly()))
.BuildSessionFactory();
return session;
}
public static ISession AbrirSession()
{
return CriarSession().OpenSession();
}
}
ele acusa o erro no “var configMap” ele é o seguinte.:
Citar
An invalid or incomplete configuration was used while creating a SessionFactory. Check Potential Reasons collection, and InnerException for more detail.
estou procurando na internet, e revendo alguns vidios, mas não consegui resolver o problema ainda. Bom o resto de minhas classes são.:
public class ProdutoMap : ClassMap<Produto>
{
public ProdutoMap()
{
Table("PRODUTO");
Id(p => p.Codigo);
Map(p => p.Referencia);
Map(p => p.CodBar);
Map(p => p.TipoProduto);
Map(p => p.NomeProduto);
Map(p => p.ProdutoEcf);
Map(p => p.CodigoFiscal);
Map(p => p.TipoProduto);
Map(p => p.PesoBruto);
Map(p => p.PesoLiquido);
Map(p => p.PromocaoAtivada);
Map(p => p.PromocaoRedMargemLucro);
Map(p => p.Margem01);
Map(p => p.Preco01);
Map(p => p.Desconto01);
Map(p => p.Comissao01);
Map(p => p.Margem01);
Map(p => p.Preco01);
Map(p => p.Desconto01);
Map(p => p.Comissao01);
Map(p => p.Margem02);
Map(p => p.Preco02);
Map(p => p.Desconto02);
Map(p => p.Comissao02);
Map(p => p.Margem03);
Map(p => p.Preco03);
Map(p => p.Desconto03);
Map(p => p.Comissao03);
Map(p => p.Margem04);
Map(p => p.Preco04);
Map(p => p.Desconto04);
Map(p => p.Comissao04);
Map(p => p.Margem05);
Map(p => p.Preco05);
Map(p => p.Desconto05);
Map(p => p.Comissao05);
Map(p => p.NCasaDecEnt);
Map(p => p.NCasaDecSai);
Map(p => p.Fracionado);
Map(p => p.CaminhoImagem);
Map(p => p.QtdAux);
}
}
public abstract class Repository<T>
{
public void Inserir(T entidade)
{
using (ISession session = SessionFactory.AbrirSession())
{
using (ITransaction transacao = session.BeginTransaction())
{
try
{
session.Save(entidade);
transacao.Commit();
}
catch (Exception ex)
{
if (!transacao.WasCommitted)
{
transacao.Rollback();
}
throw new Exception("Erro ao inserir Cliente : " + ex.Message);
}
}
}
}
public void Alterar(T entidade)
{
using (ISession session = SessionFactory.AbrirSession())
{
using (ITransaction transacao = session.BeginTransaction())
{
try
{
session.Update(entidade);
transacao.Commit();
}
catch (Exception ex)
{
if (!transacao.WasCommitted)
{
transacao.Rollback();
}
throw new Exception("Erro ao Alterar Cliente : " + ex.Message);
}
}
}
}
public void Excluir(T entidade)
{
using (ISession session = SessionFactory.AbrirSession())
{
using (ITransaction transacao = session.BeginTransaction())
{
try
{
session.Delete(entidade);
transacao.Commit();
}
catch (Exception ex)
{
if (!transacao.WasCommitted)
{
transacao.Rollback();
}
throw new Exception("Erro ao Excluir Cliente : " + ex.Message);
}
}
}
}
public T RetornarPorId(int Id)
{
using (ISession session = SessionFactory.AbrirSession())
{
return session.Get<T>(Id);
}
}
public IList<T> Consultar()
{
using (ISession session = SessionFactory.AbrirSession())
{
return (from c in session.Query<T>() select c).ToList();
}
}
}
public class Produto
{
private double codigo;
private string referencia;
private string codBar;
private string tipoProduto;
private string nomeProduto;
private string produtoEcf;
private string unidadeVenda;
private string codigoFiscal;
private string tipoTribPadrao;
private double pesoBruto;
private double pesoLiquido;
private char promocaoAtivada;
private double promocaoRedMargemLucro;
private double margem01;
private double preco01;
private double desconto01;
private double comissao01;
private double margem02;
private double preco02;
private double desconto02;
private double comissao02;
private double margem03;
private double preco03;
private double desconto03;
private double comissao03;
private double margem04;
private double preco04;
private double desconto04;
private double comissao04;
private double margem05;
private double preco05;
private double desconto05;
private double comissao05;
private char nCasaDecEnt;
private char nCasaDecSai; // qtas cadas decimais do preco
private char fracionado; // quando iqual a 1 vai ser fracionado 3 casas apos a virgula na qtd.
private string caminhoImagem;
private char inativo;
private double qtdAux; // quantidade utilizada para auxiliar no desenvolvimento
public virtual double Codigo
{
get
{
return codigo;
}
set
{
codigo = value;
}
}
public virtual string Referencia
{
get
{
return referencia;
}
set
{
referencia = value;
}
}
public virtual string CodBar
{
get
{
return codBar;
}
set
{
codBar = value;
}
}
public virtual string TipoProduto
{
get
{
return tipoProduto;
}
set
{
tipoProduto = value;
}
}
public virtual string NomeProduto
{
get
{
return nomeProduto;
}
set
{
nomeProduto = value;
}
}
public virtual string ProdutoEcf
{
get
{
return produtoEcf;
}
set
{
produtoEcf = value;
}
}
public virtual string UnidadeVenda
{
get
{
return unidadeVenda;
}
set
{
unidadeVenda = value;
}
}
public virtual string CodigoFiscal
{
get
{
return codigoFiscal;
}
set
{
codigoFiscal = value;
}
}
public virtual double PesoBruto
{
get
{
return pesoBruto;
}
set
{
pesoBruto = value;
}
}
public virtual double PesoLiquido
{
get
{
return pesoLiquido;
}
set
{
pesoLiquido = value;
}
}
public virtual char PromocaoAtivada
{
get
{
return promocaoAtivada;
}
set
{
promocaoAtivada = value;
}
}
public virtual double PromocaoRedMargemLucro
{
get
{
return promocaoRedMargemLucro;
}
set
{
promocaoRedMargemLucro = value;
}
}
public virtual double Margem01
{
get
{
return margem01;
}
set
{
margem01 = value;
}
}
public virtual double Preco01
{
get
{
return preco01;
}
set
{
preco01 = value;
}
}
public virtual double Desconto01
{
get
{
return desconto01;
}
set
{
desconto01 = value;
}
}
public virtual double Comissao01
{
get
{
return comissao01;
}
set
{
comissao01 = value;
}
}
public virtual double Margem02
{
get
{
return margem02;
}
set
{
margem02 = value;
}
}
public virtual double Preco02
{
get
{
return preco02;
}
set
{
preco02 = value;
}
}
public virtual double Desconto02
{
get
{
return desconto02;
}
set
{
desconto02 = value;
}
}
public virtual double Comissao02
{
get
{
return comissao02;
}
set
{
comissao02 = value;
}
}
public virtual double Margem03
{
get
{
return margem03;
}
set
{
margem03 = value;
}
}
public virtual double Preco03
{
get
{
return preco03;
}
set
{
preco03 = value;
}
}
public virtual double Desconto03
{
get
{
return desconto03;
}
set
{
desconto03 = value;
}
}
public virtual double Comissao03
{
get
{
return comissao03;
}
set
{
comissao03 = value;
}
}
public virtual double Margem04
{
get
{
return margem04;
}
set
{
margem04 = value;
}
}
public virtual double Preco04
{
get
{
return preco04;
}
set
{
preco04 = value;
}
}
public virtual double Desconto04
{
get
{
return desconto04;
}
set
{
desconto04 = value;
}
}
public virtual double Comissao04
{
get
{
return comissao04;
}
set
{
comissao04 = value;
}
}
public virtual double Margem05
{
get
{
return margem05;
}
set
{
margem05 = value;
}
}
public virtual double Preco05
{
get
{
return preco05;
}
set
{
preco05 = value;
}
}
public virtual double Desconto05
{
get
{
return desconto05;
}
set
{
desconto05 = value;
}
}
public virtual double Comissao05
{
get
{
return comissao05;
}
set
{
comissao05 = value;
}
}
public virtual char NCasaDecEnt
{
get
{
return nCasaDecEnt;
}
set
{
nCasaDecEnt = value;
}
}
public virtual char NCasaDecSai
{
get
{
return nCasaDecSai;
}
set
{
nCasaDecSai = value;
}
}
public virtual char Fracionado
{
get
{
return fracionado;
}
set
{
fracionado = value;
}
}
public virtual string CaminhoImagem
{
get
{
return caminhoImagem;
}
set
{
caminhoImagem = value;
}
}
public virtual char Inativo
{
get
{
return inativo;
}
set
{
inativo = value;
}
}
public virtual double QtdAux
{
get
{
return qtdAux;
}
set
{
qtdAux = value;
}
}
public virtual string TipoTribPadrao
{
get
{
return tipoTribPadrao;
}
set
{
tipoTribPadrao = value;
}
}
}
aqui estou tentando executar
`Produto p = new Produto
{
Codigo = 2,
NomeProduto = "teste"
};
produtosDal.Inserir(p);`
o banco.:
`CREATE TABLE [dbo].[Produto] (
[Codigo] FLOAT (53) NOT NULL,
[Referencia] VARCHAR (100) NULL,
[CodBar] VARCHAR (20) NULL,
[TipoProduto] VARCHAR (10) NULL,
[NomeProduto] VARCHAR (150) NULL,
[ProdutoEcf] VARCHAR (50) NULL,
[UnidadeVenda] VARCHAR (10) NULL,
[CodigoFiscal] VARCHAR (20) NULL,
[TipoTribPadrao] VARCHAR (10) NULL,
[PesoBruto] FLOAT (53) NULL,
[PesoLiquido] FLOAT (53) NULL,
[PromocaoAtivada] CHAR (1) NULL,
[PromocaoRedMargemLucro] FLOAT (53) NULL,
[Margem01] FLOAT (53) NULL,
[Preco01] FLOAT (53) NULL,
[Desconto01] FLOAT (53) NULL,
[Comissao01] FLOAT (53) NULL,
[Margem02] FLOAT (53) NULL,
[Preco02] FLOAT (53) NULL,
[Desconto02] FLOAT (53) NULL,
[Comissao02] FLOAT (53) NULL,
[Margem03] FLOAT (53) NULL,
[Preco03] FLOAT (53) NULL,
[Desconto03] FLOAT (53) NULL,
[Comissao03] FLOAT (53) NULL,
[Margem04] FLOAT (53) NULL,
[Preco04] FLOAT (53) NULL,
[Desconto04] FLOAT (53) NULL,
[Comissao04] FLOAT (53) NULL,
[Margem05] FLOAT (53) NULL,
[Preco05] FLOAT (53) NULL,
[Desconto05] FLOAT (53) NULL,
[Comissao05] FLOAT (53) NULL,
[NCasaDecEnt] CHAR (1) NULL,
[NCasaDecSai] CHAR (1) NULL,
[Fracionado] CHAR (1) NULL,
[CaminhoImagem] TEXT NULL,
[Inativo] CHAR (1) NULL
);`
http://image.prntscr.com/image/d24cd171e05148c5b91da198b7ee42be.png