Bağlantısı kesilmiş varlıklarla çalışma
Entity Framework tabanlı bir uygulamada, izlenen varlıklara uygulanan değişiklikleri algılamaktan bir bağlam sınıfı sorumludur. SaveChanges yöntemini çağırmak, bağlam tarafından izlenen değişiklikleri veritabanında kalıcı hale getirir. N katmanlı uygulamalarla çalışırken, varlık nesneleri genellikle bağlamla bağlantı kesikken değiştirilir ve değişiklikleri nasıl izleyeceğinizi ve bu değişiklikleri bağlama nasıl geri bildireceğinizi belirlemeniz gerekir. Bu konu başlığında, Entity Framework bağlantısız varlıklarla kullanılırken bulunabilecek değişik seçenekler açıklanmaktadır.
Web hizmeti çerçeveleri
Web hizmetleri teknolojileri genellikle ayrı bağlantısız nesnelerdeki değişiklikleri kalıcı hale getirmek için kullanılabilecek desenleri destekler. Örneğin ASP.NET Web API'si, veritabanındaki bir nesnede yapılan değişiklikleri kalıcı hale getirmek için EF çağrıları içerebilecek denetleyici eylemleri kodlayabilmenizi sağlar. Hatta Visual Studio'daki Web API'si araçları, Entity Framework 6 modelinizden bir Web API'si denetleyicisinin iskelesini oluşturmayı kolaylaştırır. Daha fazla bilgi için bkz. Entity Framework 6 ile Web API'sini kullanma.
Geçmişte, WCF Veri Hizmetleri ve RIA Hizmetleri gibi Entity Framework ile tümleştirme sunan birkaç web hizmeti teknolojisi daha olmuştur.
Alt düzey EF API'leri
Mevcut bir n katmanlı çözümü kullanmak istemiyorsanız veya Web API'si hizmetlerindeki bir denetleyici eyleminde olacakları özelleştirmek istiyorsanız, Entity Framework, bağlantısız bir katmanda yapılan değişiklikleri uygulamanıza olanak tanıyan API'ler sağlar. Daha fazla bilgi için bkz. Ekleme, İliştirme ve varlık durumu.
Kendini İzleyen Varlıklar
EF bağlamı bağlantısı kesildiğinde varlıkların rastgele grafiklerindeki değişiklikleri izlemek zor bir problemdir. Bu sorunu çözme girişimlerinden biri Kendini İzleyen Varlıklar kod oluşturma şablonuydu. Bu şablon, bağlantısı kesilmiş bir katmanda yapılan değişiklikleri varlıkların kendisinde durum olarak izlemek için mantık içeren varlık sınıfları oluşturur. Bu değişiklikleri bir bağlama uygulamak için bir uzantı yöntemleri kümesi de oluşturulur.
Bu şablon EF Designer kullanılarak oluşturulan modellerle kullanılabilir ancak Önce Kod modelleriyle kullanılamaz. Daha fazla bilgi için bkz. Kendini İzleyen Varlıklar.
Önemli
Kendini izleyen varlıklar şablonunu kullanmanızı artık önermiyoruz. Yalnızca mevcut uygulamaları desteklemek için sunulmaya devam edecektir. Uygulamanız bağlantısız varlık graflarıyla çalışmayı gerektiriyorsa, topluluk tarafından daha etkin bir şekilde geliştirilen Kendini İzleyen Varlıklara benzer bir teknoloji olan İzlenebilir Varlıklar veya düşük düzeyli değişiklik izleme API’lerini kullanarak özel kod yazma gibi diğer alternatifleri göz önünde bulundurun.