长度未识别列定义的属性

时间:2011-08-04 15:13:07

标签: fluent-nhibernate

警告:我仍然非常新的NHibernate和Fluent!

我有这样的映射:

Map(x => x.Category).Column("CATEGORY")
                    .CustomType("String")
                    .Access.Property()
                    .Generated.Never()
                    .CustomSqlType("nvarchar(250)")  // <----
                    .Not.Nullable()
                    .Length(250);                    // <----

我需要定义 .CustomSqlType(“nvarchar (250) ”)以获取宽度为250的列NH为我创建架构。如果省略“(250)”,则创建宽度为1的列。我想知道“.Length(250)”设置有什么用处。

我也很难找到有关“.Generated.Never()”设置的文档。这是什么意思?

对于那些可能会问的人:他从哪里获得地图代码?我使用了一个工具来为启动器生成它,我很高兴它或多或少都能正常工作。现在我试着理解它......

有人可以帮忙吗?

1 个答案:

答案 0 :(得分:3)

NH使用.Length(250);来确定数据库中字符串属性的长度(通常为 nvarchar )。当您指定自己的customsqltype

时,AFAIK将被完全忽略