You can have a custom Generator type (versus the built in assigned and generated strategies), but your entity Id needs to map directly to a property on your class. That property type needs to map directly to a SqlColumnType (UniqueIdentifier, Int, NVarchar, etc.). There's not really a way that I'm aware of to have a custom user type for an identity column. Your options are going to be limited to the basics: Int32, Int64, Guid, and String (mapped to Int, BigInt, UniqueIdentifier, and NVarchar as appropriate by NHibernate). When you map an Id(x => x.Id), that maps directly to your Id property on your mapped object (your Item class). The type of your property is inferred from that expression, then given to the <id> hbm.xml element's "type" attribute. Those are the basics of Id mapping with NHibernate. Check out chapter 5.1.4 in the NHibernateDocs.<http://www.hibernate.org/hib_docs/nhibernate/1.2/reference/en/pdf/nhibernate_reference.pdf>
I hope that helps answer your question. On Fri, Apr 3, 2009 at 11:40 AM, Damian Hickey <[email protected]> wrote: > Hi, > > I can't set a custom type for Id, any particular reason why this is the > case? > > Id like to write something like: > > public sealed class ItemMap : ClassMap<Item> { > public ItemMap () { > WithTable("Items"); > Id(x => x.Id).*CustomTypeIs* > (typeof(MyCustomUserType).GeneratedBy.Assigned(); > .... > } > } > > I assume there is some fundamental reason behind this and I'm new to > nhibernate.. could anyone shed any light? > > Thanks, > > Damian > > > > --~--~---------~--~----~------------~-------~--~----~ You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to [email protected] To unsubscribe from this group, send email to [email protected] For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en -~----------~----~----~----~------~----~------~--~---
