NHibernate kullanıyorum ve bu sorguyla ilgili sorun yaşıyorum ... ID'sini kullanarak almak istediğim bir sınıf Öğem var. Her şey yolunda. Ancak, başka bir koşul ayarlanmışsa, Öğe sınıfında bir bool özelliğinin true olarak ayarlanmasını istiyorum. Özel olarak, bu özelliğin, Öğenin işaretlenen kullanıcı için işaretli/işaretli/işaretli olup olmadığını ve bu bilginin Öğe ve Kullanıcı arasındaki ilişkiyi belirten bir tabloda belirlendiğini isimlendirmek üzere IsMarked olarak adlandırılır.NHibernate sorgusunda farklı tabloya göre ayar değeri
Şu anda Öğeyi getiriyorum ve daha sonra başvuruyu bulabilirim - referans bulunamadıysa özelliği true olarak güncelleyerek. Bunu bir sorguda yapabilir miyim?
var item = Session.Get<Item>(itemId);
var flaggedResult = Session.CreateCriteria<ItemWithUserFlag>()
.Add(Restrictions.Eq("User.Id", userId))
.Add(Restrictions.Eq("Item", item))
.List<ItemWithUserFlag>();
if (flaggedResult.Count > 0)
item.IsMarked = true;
return item;
nasıl sınıfları eşleştirilir? Kullanıcı ve Öğe arasında çoktan fazlasına bir ifade var mı? –
Eşleştirmeler için Akıcı kullanıyorum. Ayrı bir sınıf ItemWithUserFlag ile temsil edilen çoktan çoğa ilişkisi vardır. Kullanıcının Ürün ile doğrudan bir ilişkisi yoktur ve Ürün'ün Kullanıcı ile doğrudan bir ilişkisi yoktur. ItemWithUserFlag, Kullanıcı ve Öğe olarak ayarlanmış bir Referansa sahiptir. – stiank81