.

NHibernate ja generic’e tugi

16.09.2007  |  Marek

NHibernate 1.2 tuli juurde generic'e tugi, kuigi dokumentatsioon väga selles osas ei suurenenud. Pärast esimesi katsetusi äri- ja andmemudeli vastavusse viimist tekkisid olukorrad, kus tuli veidi katsetada ja mõelda.

Generic'e vastavusse viimine andmemudeliga

See ei ole tegelikult väga keeruline, kuid tuleb teada, kuidas tüüpe vastavusse viimise failides kirjutada.

Kui generic on ühe tüübiga, siis piisab sellest:

type="Example.MyGeneric´1[Example.MyEntity], Example"

Kui generic on kahe tüübiga, siis tuleb kirjutada midagi sarnast:

type="Example.MyGeneric´2[Example.MyEntity, MySecondEntity], Example"

Need pole just kõige keerulisemad probleemid, kuid mis juhtub kui proovida MySecondEntity asemele panna DateTime? Pärast failide sisselaadimist väidetakse, et sellist tüüpi ei leita. See tuleneb sellest, et need asuvad kahes erinevas assembly's ning välja tuleb kirjutada klasside nimed koos nimeruumidega (seda ka süsteemsete tüüpide korral):

type="Example.MyGeneric´2[[Example.MyEntity, Example], [System.DateTime, mscorlib]], Example"

Kommenteeri

sulge
Saada link e-postiga

© DT 2006-2008 | Creative Commons Attribution-Noncommercial 3.0 License | WordPress