Ik ben even met NHibernate aan het spelen.
Alles lukt, maar ik heb toch ff een vraagje.
Er zit me nl. iets een beetje dwars.
Stel, ik heb een class 'Persoon' die ik in de DB wil kunnen saven/ophalen/etc...
Die class Persoon, heeft, naast properties als 'Naam' (die zowel gettable als settable zijn), ook een property Id. Die property mapped met de primary key van de database-tabel.
Nu is het zo, dat ik die Id property liever read-only maak in m'n class. Dit vind ik netter. Niemand zou dat Id moeten kunnen wijzigen.
Echter, als ik gebruik maak van NHibernate, dan is het blijkbaar zo dat ieder 'field' in m'n class die ik wil persisten, getters en setters nodig heeft.
Die getters en setters hoeven niet perse public te zijn (met private setters/getters lukt het saven ook wel), maar in .NET heb je nu eenmaal de (duffe) beperking dat je setter en je getter dezelfde access modifier moeten hebben.
Wat ik dus wil, is dat ik het attribuut 'Id' van m'n persoon class wel wil kunnen opvragen, maar niet wil kunnen 'setten'. Iemand een idee hoe ik dit best kan aanpakken icm NHibernate ?
Blijkbaar kan ik ook niet mappen met 'fields' in m'n class, maar moeten het wel degelijk properties zijn.
Java heeft hier het voordeel dat je daar geen properties hebt, maar aparte getters/setters moet schrijven. Het voordeel daarvan is, dat je een private setter kunt maken en een public getter, maar in .NET lukt me dit blijkbaar niet.
Iemand ideeën ?
Alles lukt, maar ik heb toch ff een vraagje.
Er zit me nl. iets een beetje dwars.
Stel, ik heb een class 'Persoon' die ik in de DB wil kunnen saven/ophalen/etc...
Die class Persoon, heeft, naast properties als 'Naam' (die zowel gettable als settable zijn), ook een property Id. Die property mapped met de primary key van de database-tabel.
Nu is het zo, dat ik die Id property liever read-only maak in m'n class. Dit vind ik netter. Niemand zou dat Id moeten kunnen wijzigen.
Echter, als ik gebruik maak van NHibernate, dan is het blijkbaar zo dat ieder 'field' in m'n class die ik wil persisten, getters en setters nodig heeft.
Die getters en setters hoeven niet perse public te zijn (met private setters/getters lukt het saven ook wel), maar in .NET heb je nu eenmaal de (duffe) beperking dat je setter en je getter dezelfde access modifier moeten hebben.
Wat ik dus wil, is dat ik het attribuut 'Id' van m'n persoon class wel wil kunnen opvragen, maar niet wil kunnen 'setten'. Iemand een idee hoe ik dit best kan aanpakken icm NHibernate ?
Blijkbaar kan ik ook niet mappen met 'fields' in m'n class, maar moeten het wel degelijk properties zijn.
Java heeft hier het voordeel dat je daar geen properties hebt, maar aparte getters/setters moet schrijven. Het voordeel daarvan is, dat je een private setter kunt maken en een public getter, maar in .NET lukt me dit blijkbaar niet.
Iemand ideeën ?
https://fgheysels.github.io/