我正在尝试使用新的 Loquacious API 将具有字符串属性的实体映射到 NHibernate 3 中的varchar列,但我不知道如何指定要使用的类型。我能够使用 NHibernate 2 和 FluentNHibernate 正确映射实体。
NHibernate 2 w/Fluent 映射
public class EntityMapping : ClassMap<Entity>
{
public EntityMapping()
{
Table("EntityTable");
Id(x => x.EntityId).Column("EntityId").GeneratedBy.Identity();
Map(x=>x.Code).Not.Nullable().Column("EntityCode").CustomType("AnsiString");
}
}
NHibernate 3 w/loquacious API
public Action<IClassMapper<Entity>> CreateMapping()
{
return ca =>
{
ca.Table("Entity");
ca.Id(x => x.EntityId, map =>
{
map.Column("EntityId");
map.Generator(Generators.Identity);
});
ca.Property(x => x.Code, map =>
{
map.Column(cm => {
cm.Name("EnityCode");
cm.NotNullable(true);
});
});
};
我如何/在哪里指定“AnsiString”(因此在构造 SQL 时,对代码的查询被参数化为“varchar”而不是“nvarchar”)?
我正在使用 Sql Server 2008。