I have a application that uses C#
and NHibernate
and it will support SQL Server 2008
, SQL Server 2012
and Oracle
. I have been using fluent nhibernate to map my entities and I have some questions about how should I map the ID. Oracle supports only the Sequence, SQL Server 2008 only identity and Sql Server 2012 both. I would like to map in Sql Server (2008 and 2012) with Identity and Oracle with Sequence on the same code.
How should I map the ID to work for all databases?
It does not matter if I will have some IF's statement on my fluent mapping code. Looks my codes for mapping:
For SQL:
Id(x => x.Id).GeneratedBy.Native();
For Oracle:
Id(x => x.Id).GeneratedBy.Sequence("SQ_Customer");
PS: I do not want any workaround to achieve it. I want a NHibernate/Fluent-NHibernate
solution to map it.