[VS C#]NHibernate, mapovaní typu pro db

C++, C#, Visual Basic, Delphi, Perl a ostatní

Moderátor: Moderátoři Živě.cz

Odeslat příspěvekod dyžon 6. 10. 2019 08:24

zdravím,
potřeboval bych prosím poradit, jak namapovat DateTime(Cas) a vlastní options(Polozky)
mám tuhle třídu:
Kód: Vybrat vše
public class Neco
    {
      public virtual int Id { get; set; }
      public virtual string Nazev { get; set; }
      public virtual DateTime? Cas { get; set; }
      public virtual Polozky? Polozka { get; set; }
   }
   
   public enum Polozky
    {
      jedna,
      dve,
      tri,
      ctyri
    }

a zkouším mapovat:
Kód: Vybrat vše
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" assembly="DatoveOperace" namespace="DatoveOperace.Model">

<class name="Neco" table="neco">
   
    <id name="Id" column="id">
      <generator class="native" />
    </id>
   
    <property name="Nazev" column="nazev" />
    <property name="Cas" column="cas" type="DateTime" /> // tohle je špatně
    <property name="Polozka" column="polozka" type="string" /> // tohle je špatně
   
  </class>

</hibernate-mapping>

v db je:
id => int;
nazev => varchar(100);
cas => DateTime;
polozka => varchar(50)
bohužel u typu DateTime(cas) a Polozky(polozka) mi to háže vyjimku.
vyjimka se týká pouze toho, že v dotazu Sql se něco nepovedlo ...
když poslední dva řádky z mapování smažu, dotaz proběhne v pořádku.
nevíte prosím někdo, jak to správně namapovat ??
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod dyžon 6. 10. 2019 11:23

ok.
tak třeba pro ten options(Polozky) můžu vytvořit vlastní tabulku a propojit ji s fieldem polozka.
budu muset pro něj vytvořit vlastni třídu a namapovat jej,
ale jak namapovat DateTime pořád nevím a tak nějak nemůžu nic najít.
prosím pomozte....
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar


Odeslat příspěvekod dyžon 8. 10. 2019 06:58

super, děkuji,
jak budu mít zase čas, tak na to mrknu, (víkend).
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar

Odeslat příspěvekod dyžon 17. 10. 2019 08:24

odkazy jsou výborný, je tam vše, co je potřeba,
můj problém byl opět mezi klávesnicí a žídlí,.... ;-)

zkoušel jsem to na databázi se zhruba 300 záznamy a to hlavně proto, že jsem chtěl zjistit čas, kterej si to vezme.
chyba byla v tom, že jeden jedinej z těch cca 300 řádků měl ve sloupci čas nevyplněnou hodnotu -> null.
proto se nechtěl při kompilaci provést ten Sql příkaz.

takže vyřešeno, děkuji.
AMD FX-6300; Gigabyte 970A-DS3P; DDR3 8192MBytes; AMD Radeon HD 6700 Series
dyžon
Junior
Uživatelský avatar


Kdo je online

Uživatelé procházející toto fórum: Žádní registrovaní uživatelé a 0 návštevníků