oracle - Wrong column type - Found varchar2, Expected NVARCHAR2(255) -


i have mapping configuration composite-key using fluent nhibernate , need help, because not working.

i have 1 class called agencia have composite key 2 int16 collumns mapped number on oracle 11g database.

[serializable] public class agenciapk {     [displayname("código")]     public virtual system.int16 cdagencia { get; set; }     public virtual system.int16 cdorgaoarrecad { get; set; }      public override int gethashcode()     {         int hashcode = 0;         hashcode = hashcode ^ cdagencia.gethashcode() ^ cdorgaoarrecad.gethashcode();         return hashcode;     }     public override bool equals(object obj)     {         var tocompare = obj agencia;         if (tocompare == null)         {             return false;         }         return (this.gethashcode() != tocompare.gethashcode());     }  }  public class agencia : agenciapk {             public virtual orgaoarrecad orgaoarrecad { get; set; }     [displayname("nome")]     public virtual string nmagencia { get; set; }     [displayname("digito")]     public virtual string nrdigitoagencia { get; set; }     [displayname("número")]     public virtual string nragencia { get; set; }     [displayname("descrição")]     [stringlength(20)]     public virtual string dscompl { get; set; }     [displayname("logradouro")]     public virtual string nmlograd { get; set; }     [displayname("bairro")]     public virtual string nmbairro { get; set; }     public virtual system.nullable<short> idsituacagencia { get; set; }     [displayname("cep")]     public virtual system.nullable<short> nrcep { get; set; } } 

i have class called convenio have composite key composed 1 string collumn (cdconvenio) , int cdorgaoarrecad.

 [serializable] public class conveniopk {     [displayname("código")]     [stringlength(20)]     public virtual string cdconvenio { get; set; }      [displayname("cód. Órgão arrecadador")]     public virtual system.int16 cdorgaoarrecad { get; set; }     public override int gethashcode()     {         int hashcode = 13;         if (cdconvenio != null)         hashcode = hashcode ^ cdconvenio.gethashcode() ^ cdorgaoarrecad.gethashcode();         return hashcode;     }     public override bool equals(object obj)     {         var tocompare = obj convenio;         if (tocompare == null)         {             return false;         }         return (this.gethashcode() != tocompare.gethashcode());     }  }  public class convenio : conveniopk {     [displayname("Órgão arrecadador")]     public virtual orgaoarrecad orgaoarrecad { get; set; }     [displayname("data início")]     [datatype(datatype.date)]     public virtual system.datetime dtinicioconvenio { get; set; }     [displayname("data término")]     [datatype(datatype.date)]     public virtual system.datetime dtfinalconvenio { get; set; }     [displayname("tipo")]     public virtual short tpconvenio { get; set; }     [displayname("tarifa")]     public virtual short tptarifaconvenio { get; set; }     [displayname("valor tarifa")]     public virtual double vltarifaconvenio { get; set; }     [displayname("quantidade dias")]     public virtual short qtdiasfloat { get; set; } } 

and when access class agencia using mapping class agenciamap, works fine.

public class agenciamap : fluentnhibernate.mapping.classmap<agencia> {             public agenciamap() {         table("sci_agencia");         compositeid()             .keyproperty(x => x.cdagencia, "cd_agencia")             .keyproperty(x => x.cdorgaoarrecad, "cd_orgao_arrecad");         map(x => x.cdorgaoarrecad).column("cd_orgao_arrecad").not.nullable();         map(x => x.nmagencia).column("nm_agencia").customtype("ansistring").length(30).not.nullable();          references<orgaoarrecad>(x => x.orgaoarrecad, "cd_orgao_arrecad").foreignkey().not.update()           .not.insert()           .cascade.none().not.nullable().not.lazyload().fetch.join();     } } 

but, when try access class convenio, using class conveniomap:

 public class conveniomap : fluentnhibernate.mapping.classmap<convenio> {             public conveniomap() {         table("convenio");         compositeid()            .keyproperty(x => x.cdconvenio, "cd_convenio")            .keyproperty(x => x.cdorgaoarrecad, "cd_orgao_arrecad");          map(x => x.cdconvenio).column("cd_convenio").customsqltype("varchar2(20)").customtype("ansistring").length(20).not.nullable();                     map(x => x.cdorgaoarrecad).column("cd_orgao_arrecad").not.nullable();         map(x => x.dtinicioconvenio).column("dt_inicio_convenio").customsqltype("date").not.nullable();         map(x => x.dtfinalconvenio).column("dt_final_convenio").customsqltype("date").not.nullable();         map(x => x.tpconvenio).column("tp_convenio").customsqltype("number(2,0)").not.nullable();         map(x => x.tptarifaconvenio).column("tp_tarifa_convenio").customsqltype("number(2,0)").not.nullable();                     map(x => x.vltarifaconvenio).column("vl_tarifa_convenio").customsqltype("number(15,2)").not.nullable();           map(x => x.qtdiasfloat).column("qt_dias_float").customsqltype("number(3,0)").not.nullable();          references(x => x.orgaoarrecad)             .column("cd_orgao_arrecad")             .foreignkey().not.update()             .not.insert()             .cascade.none()             .not.nullable()             .not.lazyload()             .fetch.join();     } } 

when map collumn type string "cd_convenio", i'm getting error:

wrong column type in sci.convenio column cd_convenio. found: varchar2, expected nvarchar2(255)

the specific part of code i'm in doubt this:

compositeid()            .keyproperty(x => x.cdconvenio, "cd_convenio")            .keyproperty(x => x.cdorgaoarrecad, "cd_orgao_arrecad"); 

so, here question: doing wrong?


Comments

Popular posts from this blog

blackberry 10 - how to add multiple markers on the google map just by url? -

php - guestbook returning database data to flash -

delphi - Dynamic file type icon -