C# 类映射的等价物<;T>;。FluentNHibernate中的属性()
我见过很多使用C# 类映射的等价物<;T>;。FluentNHibernate中的属性(),c#,nhibernate,fluent-nhibernate,C#,Nhibernate,Fluent Nhibernate,我见过很多使用NHibernate.Mapping.ByCode.Conformist.ClassMapping的例子,比如: public class MyNhMap : ClassMapping<Entity> { Property(a => a.Something, b => { b.Something(); }); } 公共类MyNhMap:ClassMapping { 属性(a=>a.Something,b=>{b.Something();}); }
NHibernate.Mapping.ByCode.Conformist.ClassMapping的例子,比如:
public class MyNhMap : ClassMapping<Entity>
{
Property(a => a.Something, b => { b.Something(); });
}
公共类MyNhMap:ClassMapping
{
属性(a=>a.Something,b=>{b.Something();});
}
Fluent NHibernate与FluentNHibernate.Mapping.ClassMap
的等效语法是什么
公共类MyFnhMap:ClassMap
{
// ???
}
这里是比较这两种风格的最佳地方:(另请参见第节Fluent NHibernate的等效版本)。fluent映射示例(引用该链接中的示例):
Map(x=>x.Property,“columnName”)
.默认值(“默认值”)
.CustomSqlType(“varchar(max)”)
.Length(SqlClientDriver.MaxSizeForLengthLimitedString+1)
.Not.Nullable()
.勾选(“len(columnName)>1”)
.精度(2)
.比额表(2)
.索引(“列_idx”)
.Unique()
.UniqueKey(“列uniq”)
.CustomType()
.Update()
.插入()
.Formula(“任意SQL表达式”)
.Access.Field()
//或.Access.Using()
.OptimisticLock()
.Generated.Insert()
.LazyLoad()
.ReadOnly();
是的,我明白了……;)享受快乐
public class MyFnhMap : ClassMap<Entity>
{
// ???
}
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();