FluentNHibernate: Not.Nullable() doesn't affect output schema
- by alex
Hello
I'm using fluent nhibernate v. 1.0.0.595. There is a class:
public class Weight
{
public virtual int Id { get; set; }
public virtual double Value { get; set; }
}
I want to map it on the following table:
create table [Weight] (
WeightId INT IDENTITY NOT NULL,
Weight DOUBLE not null,
primary key (WeightId)
)
Here is the map:
public class WeightMap : ClassMap<Weight>
{
public WeightMap()
{
Table("[Weight]");
Id(x => x.Id, "WeightId");
Map(x => x.Value, "Weight").Not.Nullable();
}
}
The problem is that this mapping produces table with nullable Weight column:
Weight DOUBLE null
Not-nullable column is generated only with default convention for column name (i.e. Map(x = x.Value).Not.Nullable() instead of Map(x = x.Value, "Weight").Not.Nullable()), but in this case there will be Value column instead of Weight:
create table [Weight] (
WeightId INT IDENTITY NOT NULL,
Value DOUBLE not null,
primary key (WeightId)
)
I found similiar problem here: http://code.google.com/p/fluent-nhibernate/issues/detail?id=121, but seems like mentioned workaround with SetAttributeOnColumnElement("not-null", "true") is outdated. Does anybody encountered with this problem? Is there a way to specify named column as not-nullable?