Temel olarak, yumuşak silme kullanmak istiyorum, ancak silme kayıtlarının yumuşak silme kayıtlarını gösterme özelliği yoktur. Varlık çerçevesinde POCO nesneleri üzerinde gezinme özelliği sorgularını engellemenin herhangi bir yolu var mı?Yumuşak silme, gezinme özellikleri EF4 CTP5 POCO içinde
Çok basit bir örnek: nerede isDeleted == true herhangi bir ürün iade etmeyecek şekilde
public class Product
{
public int Id { get; set;}
public string Name { get; set;}
public int? CategoryId { get; set;}
public virtual Category Category { get; set;}
public bool IsDeleted { get; set;}
}
public class Category
{
public int Id{ get; set; }
public string Name { get; set; }
public virtual ICollection<Product> Products { get; set;}
}
Kolayca benim depoya kriterlerini ekleyebilir. Bununla birlikte, gezinme özelliklerinde 'yumuşak silme' olan diğer nesneler için bunu nasıl gerçekleştireceğimi göremiyorum.
IE ben myCategory.Products (myCategory bir Kategori olduğu) isDeleted == true
Ben potansiyel Kategori ek bir özelliği kullanılarak geçici çözüm olabilir nerede herhangi bir ürün gösterilmemesi gerekir erişirseniz
public ICollection<Product> CurrentProducts
{
get
{
return this.Products.Where(p=>!p.IsDeleted);
}
}
Ama aradığım zarif çözüm bu değil. Gezinme mülküne 'ekleme' kriterleri veya bunun nasıl ele alınacağı konusunda daha iyi çözümler var mı?
Ahh şimdi sorununuzu görüyorum ... :) – gingerbreadboy
Önerdiğim çözümün en iyisi olduğunu söyleyebilirim. Bunun neden zarif olmadığını düşündüğünden emin değil misiniz? Bana oldukça temiz ve basit görünüyor. –
Buna yaklaşmanın bir yolunu buldunuz mu? Aynı senaryoya koşuyorum ve hangi yaklaşımı kullandığınızı bilmek istiyorum. – muruge