6
fuentHibernate nedir? Neden kullanılır? Hazırda Beklet ve Akıcı Hazırda Beklet arasındaki fark nedir?Akıcı hazırda bekletme nedir?
fuentHibernate nedir? Neden kullanılır? Hazırda Beklet ve Akıcı Hazırda Beklet arasındaki fark nedir?Akıcı hazırda bekletme nedir?
NHibernate'in standart XML eşleme dosyalarına bir alternatif sunar. XML belgeleri (.hbm.xml dosyaları) yazmaktan ziyade, Fluent NHibernate, güçlü yazılan C# kodunda eşlemleri yazmanıza izin verir. Bu kolay refactoring, geliştirilmiş okunabilirlik ve daha özlü kod sağlar. eşdeğer
Geleneksel HBM XML eşleme
<?xml version="1.0" encoding="utf-8" ?>
<hibernate-mapping xmlns="urn:nhibernate-mapping-2.2"
namespace="QuickStart" assembly="QuickStart">
<class name="Cat" table="Cat">
<id name="Id">
<generator class="identity" />
</id>
<property name="Name">
<column name="Name" length="16" not-null="true" />
</property>
<property name="Sex" />
<many-to-one name="Mate" />
<bag name="Kittens">
<key column="mother_id" />
<one-to-many class="Cat" />
</bag>
</class>
</hibernate-mapping>
Akıcı NHibernate
public class CatMap : ClassMap<Cat>
{
public CatMap()
{
Id(x => x.Id);
Map(x => x.Name)
.Length(16)
.Not.Nullable();
Map(x => x.Sex);
References(x => x.Mate);
HasMany(x => x.Kittens);
}
}