Fluent NHibernate </t>中的类映射<to> .Property()的等价物

时间:2014-01-22 17:21:56

标签: c# nhibernate fluent-nhibernate

我见过很多使用NHibernate.Mapping.ByCode.Conformist.ClassMapping<T>的例子:

public class MyNhMap : ClassMapping<Entity>
{
    Property(a => a.Something, b => { b.Something(); });
}

Fluent NHibernate与FluentNHibernate.Mapping.ClassMap<T>的等效语法是什么?

public class MyFnhMap : ClassMap<Entity>
{
    // ???
}

1 个答案:

答案 0 :(得分:2)

您可以在这里比较两种风格的最佳位置:Mapping-by-Code - Property (另请参阅 Fluent NHibernate的等效部分)。流畅映射的示例(来自该链接的示例)

Map(x => x.Property, "columnName")
    .Default("defaultValue")
    .CustomSqlType("varchar(max)")
    .Length(SqlClientDriver.MaxSizeForLengthLimitedString + 1)
    .Not.Nullable()
    .Check("len(columnName) > 1")
    .Precision(2)
    .Scale(2)
    .Index("column_idx")
    .Unique()
    .UniqueKey("column_uniq")
    .CustomType<string>()
    .Update()
    .Insert()
    .Formula("arbitrary SQL expression")
    .Access.Field()
    // or .Access.Using<CustomAccessor>()
    .OptimisticLock()
    .Generated.Insert()
    .LazyLoad()
    .ReadOnly();