问题
The title basically says it all... I'm trying to specify an auto-incrementing (int) identity column using Fluent-NHibernate and MySQL. I've tried the following variations...
Id(x => x.ID).GeneratedBy.Native();
Id(x => x.ID).GeneratedBy.Identity();
Id(x => x.ID).GeneratedBy.Increment();
...and tried setting default values on each.
Note: I'm using an int data type and have received errors such as...
"Input string was not in a correct format."
or...
"Field 'ID' does not have a default value'
回答1:
In MySQL you can create a column and mention its properties as AUTO_INCREMENT and DEFAULT VALUE 1 (or whatever you wish), why don't you use it?
--Cheers
回答2:
I'm using
public class User
{
public virtual int Id { get; set; }
public virtual IList<Names> Names { get; set; }
public virtual IList<Addresses> Addresses { get; set; }
}
and mapping as Increment and works for me.
Id(x => x.Id).GeneratedBy.Increment();
来源:https://stackoverflow.com/questions/4002238/how-to-specify-an-auto-incrementing-int-identity-column-using-fluent-nhibernat