我正在使用Fluent NHibernate进行自动化 . 我还使用NHibernate的SchemaExport功能自动生成数据库模式的SQL代码 . 因此,我想控制NHibernate如何看待数据库模式 .

我想要实现的只是我可以映射这样的属性:

public virtual IList<string> AreaCodes { get; set; }

因此,在用于存储元素的表中,Value列的类型将为“VARCHAR(255)”,而不是“NVARCHAR(255)” . 这是因为我知道字符串只包含一个非常有限的拉丁字符集,我不想因为NVARCHAR而花费两倍的空间 .

目前在SchemaExport输出中,相关表创建如下:

create table AreaCodes (
    GroupId INT not null,
    Value NVARCHAR(255) null
)

我发现没有办法影响Value列的sql数据类型 . 还有其他人设法解决了这个问题吗?