About the only other thing I can suggest is that you try to get some assistance from the nhibernate users<http://groups.google.com/group/nhusers/> mailing list. If you can find some xml that will work with MEDIUMINT, then we can try to get FNH to generate it for you.
On Tue, Mar 16, 2010 at 12:17 AM, Isaac Inyang <isaac.iny...@gmail.com>wrote: > Same thing happened using when I use CustomSqlType with IdentityPart. > This behavior seems to be independent of the data type passed to the method. > > Id(i => > i.StudentId).CustomSqlType("MEDIUMINT").GeneratedBy.Identity(); > > I wish other developers with MySql could be of assistance. > > Thank you very much. > > Isaac > > > > > On Mon, Mar 15, 2010 at 12:18 PM, Paul Batum <paul.ba...@gmail.com> wrote: > >> Have you tried verifying that the same problem occurs when specifying the >> MEDIUMINT type using an automapping override in one particular instance, >> rather than as a convention across the board? >> >> Without MySql knowledge, I'm afraid I'm going to run out of ideas pretty >> fast on this one. >> >> >> On Mon, Mar 15, 2010 at 5:18 PM, Isaac Inyang <isaac.iny...@gmail.com>wrote: >> >>> Without the convention, everything runs well. >>> >>> With the convention enabled, I *suspect* there is a type mismatch >>> between the database columns i.e. MEDIUMINT in table 1 and INT In table 2. >>> >>> Thank you. >>> >>> Isaac >>> >>> >>> >>> >>> On Mon, Mar 15, 2010 at 3:48 AM, Paul Batum <paul.ba...@gmail.com>wrote: >>> >>>> Your convention looks correct to me. I have no experience with MySQL so >>>> I'm not really familiar with the error you are getting. >>>> >>>> Can you clarify, do you still get this error without the convention? >>>> >>>> >>>> On Mon, Mar 15, 2010 at 1:33 AM, Isaac Inyang >>>> <isaac.iny...@gmail.com>wrote: >>>> >>>>> Hello Paul, >>>>> >>>>> I thank you very much for your mail. I downloaded a newer version of >>>>> FNH. >>>>> >>>>> Below is the convention class which I wrote to apply to all entities >>>>> whose ID are of the UINT type. >>>>> >>>>> *Convention Code* >>>>> >>>>> public class UIntPrimaryKeyNamingConvention : IIdConvention, >>>>> IIdConventionAcceptance >>>>> { >>>>> public void Apply(IIdentityInstance id) >>>>> { >>>>> id.CustomSqlType("MEDIUMINT UNSIGNED"); >>>>> } >>>>> >>>>> public void Accept(IAcceptanceCriteria<IIdentityInspector> >>>>> criteria) >>>>> { >>>>> criteria.Expect(i => i.Type == typeof(uint)); >>>>> } >>>>> } >>>>> >>>>> >>>>> Applying this to create my database throws exceptions. Looking closely >>>>> at the exceptions, I noticed the exceptions are being thrown when >>>>> REFERENCES >>>>> to such entities are being applied. >>>>> >>>>> Please, what can be done? >>>>> >>>>> Thanking you in anticipation. >>>>> >>>>> Isaac >>>>> >>>>> >>>>> *Details of the exception thrown can be seen below:* >>>>> >>>>> alter table `ScratchFail` >>>>> add index (StudentEnrolId), >>>>> add constraint FK19A86696AF8F2A12 >>>>> foreign key (StudentEnrolId) >>>>> references `StudentEnrol` (StudentEnrolId) >>>>> System.TypeInitializationException: The type initializer for 'Nested' >>>>> threw an exception. ---> NHibernate.HibernateException: Can't create table >>>>> 'netquepgcurrent.#sql-f0_27' (errno >>>>> : 150) ---> MySql.Data.MySqlClient.MySqlException: Can't create table >>>>> 'netquepgcurrent.#sql-f0_27' (errno: 150) >>>>> at MySql.Data.MySqlClient.MySqlStream.ReadPacket() >>>>> at MySql.Data.MySqlClient.NativeDriver.ReadResult() >>>>> at MySql.Data.MySqlClient.ResultSet.NextResult() >>>>> at MySql.Data.MySqlClient.MySqlDataReader.NextResult() >>>>> at MySql.Data.MySqlClient.MySqlCommand.ExecuteReader(CommandBehavior >>>>> behavior) >>>>> at MySql.Data.MySqlClient.MySqlCommand.ExecuteNonQuery() >>>>> at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 >>>>> scriptAction, Boolean export, Boolean throwOnError, TextWriter >>>>> exportOutput, >>>>> IDbCommand statement, String sql) >>>>> at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 >>>>> scriptAction, Boolean export, Boolean justDrop, IDbConnection connection, >>>>> TextWriter exportOutput) >>>>> at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 >>>>> scriptAction, Boolean export, Boolean justDrop) >>>>> --- End of inner exception stack trace --- >>>>> at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Action`1 >>>>> scriptAction, Boolean export, Boolean justDrop) >>>>> at NHibernate.Tool.hbm2ddl.SchemaExport.Execute(Boolean script, >>>>> Boolean export, Boolean justDrop) >>>>> at netquepgcurrent.NHH..ctor() in E:\source.code\Visual Studio >>>>> 2008\projects\...@college\college Tools\netquepgcurrent\NHH.cs:line 40 >>>>> at netquepgcurrent.NHH.Nested..cctor() in E:\source.code\Visual >>>>> Studio 2008\projects\...@college\college Tools\netquepgcurrent\NHH.cs:line >>>>> 89 >>>>> --- End of inner exception stack trace --- >>>>> at netquepgcurrent.NHH.get_Instance() in E:\source.code\Visual >>>>> Studio 2008\projects\...@college\college Tools\netquepgcurrent\NHH.cs:line >>>>> 66 >>>>> at netquepgcurrent.NHH.Init() in E:\source.code\Visual Studio >>>>> 2008\projects\...@college\college Tools\netquepgcurrent\NHH.cs:line 71 >>>>> at ConsoleApplication4_Conversion.Program.Run() in >>>>> E:\source.code\Visual Studio 2008\projects\...@college\college >>>>> Tools\ConsoleApplication4-Conversion\Program.cs:line 41 >>>>> at ConsoleApplication4_Conversion.Program.Main(String[] args) in >>>>> E:\source.code\Visual Studio 2008\projects\...@college\college >>>>> Tools\ConsoleApplication4-Conversion\Program.cs:line 24 >>>>> >>>>> >>>>> >>>>> On Mon, Mar 8, 2010 at 12:40 AM, Paul Batum <paul.ba...@gmail.com>wrote: >>>>> >>>>>> Perhaps you don't have the latest version of the code base? >>>>>> >>>>>> >>>>>> http://github.com/jagregory/fluent-nhibernate/blob/master/src/FluentNHibernate/Mapping/IdentityPart.cs >>>>>> >>>>>> >>>>>> <http://github.com/jagregory/fluent-nhibernate/blob/master/src/FluentNHibernate/Mapping/IdentityPart.cs>(towards >>>>>> the bottom, you'll see theres a CustomSqlType method) >>>>>> >>>>>> >>>>>> On Mon, Mar 8, 2010 at 3:16 AM, Isaac Inyang >>>>>> <isaac.iny...@gmail.com>wrote: >>>>>> >>>>>>> Paul, >>>>>>> >>>>>>> From my experience, CustomSqlType is only available to PropertyPart >>>>>>> (i.e. the Map method) but not to IdentityPart (i.e. the Id method). >>>>>>> >>>>>>> Is there some way to get this done? >>>>>>> >>>>>>> Thank you. >>>>>>> >>>>>>> Isaac >>>>>>> >>>>>>> >>>>>>> >>>>>>> >>>>>>> On Sun, Mar 7, 2010 at 1:51 PM, Paul Batum <paul.ba...@gmail.com>wrote: >>>>>>> >>>>>>>> I believe something like this should do it: >>>>>>>> >>>>>>>> Id(i => i.PersonId) >>>>>>>> .CustomSqlType("MEDIUMINT") >>>>>>>> .GeneratedBy.Identity(); >>>>>>>> >>>>>>>> >>>>>>>> On Thu, Mar 4, 2010 at 8:26 PM, Isaac Inyang < >>>>>>>> isaac.iny...@gmail.com> wrote: >>>>>>>> >>>>>>>>> Hello, >>>>>>>>> >>>>>>>>> Using Fluent NHibernate, how do I specify the *Custom SQL Type*which >>>>>>>>> my >>>>>>>>> *Identity *properties will be mapped to? >>>>>>>>> >>>>>>>>> Specifically, I want all Int32 fields to be mapped to MEDIUMINT (3 >>>>>>>>> bytes) within MySQL. Referring to the code below, I want PersonId to >>>>>>>>> be of >>>>>>>>> type MEDIUMINT in the database. >>>>>>>>> >>>>>>>>> *Entity Definition*: >>>>>>>>> >>>>>>>>> public class Person >>>>>>>>> { >>>>>>>>> public virtual int PersonId { get; set; } >>>>>>>>> public virtual string FullName { get; set; } >>>>>>>>> public virtual int Age { get; set; } >>>>>>>>> } >>>>>>>>> >>>>>>>>> *Mapping Class*: >>>>>>>>> >>>>>>>>> public class PersonMap : ClassMap<Person> >>>>>>>>> { >>>>>>>>> public PersonMap() >>>>>>>>> { >>>>>>>>> Id(i => i.PersonId).GeneratedBy.Identity(); >>>>>>>>> Map(i => i.FullName); >>>>>>>>> Map(i => i.Age).CustomSqlType("mediumint"); >>>>>>>>> } >>>>>>>>> } >>>>>>>>> >>>>>>>>> *Generated HBM File*: >>>>>>>>> >>>>>>>>> <hibernate-mapping xmlns="urn:nhibernate-mapping-2.2" >>>>>>>>> default-access="property" auto-import="true" default-cascade="none" >>>>>>>>> default-lazy="true"> >>>>>>>>> <class xmlns="urn:nhibernate-mapping-2.2" >>>>>>>>> name="netquepgcurrent.Entities.Person, netquepgcurrent, >>>>>>>>> Version=1.0.0.0, >>>>>>>>> Culture=neutral, PublicKeyToken=null" table="`Person`"> >>>>>>>>> <id name="PersonId" type="System.Int32, mscorlib, >>>>>>>>> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> >>>>>>>>> <column name="PersonId" /> >>>>>>>>> <generator class="identity" /> >>>>>>>>> </id> >>>>>>>>> <property name="FullName" type="System.String, mscorlib, >>>>>>>>> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> >>>>>>>>> <column name="FullName" /> >>>>>>>>> </property> >>>>>>>>> <property name="Age" type="System.Int32, mscorlib, >>>>>>>>> Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089"> >>>>>>>>> <column name="Age" sql-type="mediumint" /> >>>>>>>>> </property> >>>>>>>>> </class> >>>>>>>>> </hibernate-mapping> >>>>>>>>> >>>>>>>>> -- >>>>>>>>> You received this message because you are subscribed to the Google >>>>>>>>> Groups "Fluent NHibernate" group. >>>>>>>>> To post to this group, send email to >>>>>>>>> fluent-nhibern...@googlegroups.com. >>>>>>>>> To unsubscribe from this group, send email to >>>>>>>>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>>>>>>>> . >>>>>>>>> For more options, visit this group at >>>>>>>>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>>>>>>>> >>>>>>>> >>>>>>>> -- >>>>>>>> You received this message because you are subscribed to the Google >>>>>>>> Groups "Fluent NHibernate" group. >>>>>>>> To post to this group, send email to >>>>>>>> fluent-nhibern...@googlegroups.com. >>>>>>>> To unsubscribe from this group, send email to >>>>>>>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>>>>>>> . >>>>>>>> For more options, visit this group at >>>>>>>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>>>>>>> >>>>>>> >>>>>>> -- >>>>>>> You received this message because you are subscribed to the Google >>>>>>> Groups "Fluent NHibernate" group. >>>>>>> To post to this group, send email to >>>>>>> fluent-nhibern...@googlegroups.com. >>>>>>> To unsubscribe from this group, send email to >>>>>>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>>>>>> . >>>>>>> For more options, visit this group at >>>>>>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>>>>>> >>>>>> >>>>>> -- >>>>>> You received this message because you are subscribed to the Google >>>>>> Groups "Fluent NHibernate" group. >>>>>> To post to this group, send email to >>>>>> fluent-nhibern...@googlegroups.com. >>>>>> To unsubscribe from this group, send email to >>>>>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>>>>> . >>>>>> For more options, visit this group at >>>>>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>>>>> >>>>> >>>>> -- >>>>> You received this message because you are subscribed to the Google >>>>> Groups "Fluent NHibernate" group. >>>>> To post to this group, send email to >>>>> fluent-nhibern...@googlegroups.com. >>>>> To unsubscribe from this group, send email to >>>>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>>>> . >>>>> For more options, visit this group at >>>>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>>>> >>>> >>>> -- >>>> You received this message because you are subscribed to the Google >>>> Groups "Fluent NHibernate" group. >>>> To post to this group, send email to fluent-nhibernate@googlegroups.com >>>> . >>>> To unsubscribe from this group, send email to >>>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>>> . >>>> For more options, visit this group at >>>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>>> >>> >>> -- >>> You received this message because you are subscribed to the Google Groups >>> "Fluent NHibernate" group. >>> To post to this group, send email to fluent-nhibern...@googlegroups.com. >>> To unsubscribe from this group, send email to >>> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >>> . >>> For more options, visit this group at >>> http://groups.google.com/group/fluent-nhibernate?hl=en. >>> >> >> -- >> You received this message because you are subscribed to the Google Groups >> "Fluent NHibernate" group. >> To post to this group, send email to fluent-nhibern...@googlegroups.com. >> To unsubscribe from this group, send email to >> fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> >> . >> For more options, visit this group at >> http://groups.google.com/group/fluent-nhibernate?hl=en. >> > > -- > You received this message because you are subscribed to the Google Groups > "Fluent NHibernate" group. > To post to this group, send email to fluent-nhibern...@googlegroups.com. > To unsubscribe from this group, send email to > fluent-nhibernate+unsubscr...@googlegroups.com<fluent-nhibernate%2bunsubscr...@googlegroups.com> > . > For more options, visit this group at > http://groups.google.com/group/fluent-nhibernate?hl=en. > -- You received this message because you are subscribed to the Google Groups "Fluent NHibernate" group. To post to this group, send email to fluent-nhibern...@googlegroups.com. To unsubscribe from this group, send email to fluent-nhibernate+unsubscr...@googlegroups.com. For more options, visit this group at http://groups.google.com/group/fluent-nhibernate?hl=en.