NHibernate java tabanlı Hibernate kütüphanesinin .Net için uyarlanmış halidir. Hibernate kullanım şekli muhafaza edilmeye çalışılmışsa da .Net ortamına uygun diğer bazı geliştirilmeler de yapılmıştır.
NHibernate.Linq
Bazi örnekleri burada bulabilirsiniz. Linq ile nasıl QueryProvider yazılacağını da burada bulabilirsiniz.
NHibernate Validator
NHibernate ile gelen Validator kütüphanesi aynı Java adaşında olduğu gibi çalışıyor. Sınıfın içinde tanımlanan anotasyonlar üretilen DDL'e de etki edebiliyor. Bu durumu aşağıdaki cümle güzel açıklamış.
NHibernate.Linq
Bazi örnekleri burada bulabilirsiniz. Linq ile nasıl QueryProvider yazılacağını da burada bulabilirsiniz.
//using NHibernate.LinqBir diğer örneği ise burada bulabilirsiniz.
var linq = (from product in session.Query<Product>()
where product.Category.Id == 2
orderby product.Id
select product)
.Skip(10)
.Take(10);
var list4 = linq.ToList();
Burada dikkat edilmesi gereken nokta. NHibernate.Linq içinde nesnelerin sadece property'lerine erişmek mümkün. Metodlarını çağırmak mümkün değil çünkü metodları SQL'e çevirmenin imkanı yok !var result = session.Query<Fruit>()
.Where(f => fruitIds.Contains(f.Id))
.ToList();
NHibernate Validator
NHibernate ile gelen Validator kütüphanesi aynı Java adaşında olduğu gibi çalışıyor. Sınıfın içinde tanımlanan anotasyonlar üretilen DDL'e de etki edebiliyor. Bu durumu aşağıdaki cümle güzel açıklamış.
Out of the box, Hibernate Annotations (as of Hibernate 3.5.x) will translate the constraints you have defined for your entities into mapping metadata. For example, if a property of your entity is annotatedHibernate ile gelen validator açıklamaları bu tabloda da gösterilmiş. NHibernate ile gelen validator açıklamaları da bu tabloda gösterilmiş. Aralarında küçük farklar olsa bile birbirleriyle uyumlu sayılırlar.@NotNull
, its columns will be declared asnot null
in the DDL schema generated by Hibernate.
Hiç yorum yok:
Yorum Gönder