Paul,

Thank you. I will contact the nh-user list.

Isaac



On Tue, Mar 16, 2010 at 12:38 PM, Paul Batum <paul.ba...@gmail.com> wrote:

> 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-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.

Reply via email to