EF Code First projesiyle çalışıyorum ve her şey yolunda. Basit bir dersim var, müşteri. Müşteri Sınıfımda, şifrelemek istediğim bir alanım var (Evet, DB düzeyinde şifreleyebileceğimi biliyorum, ancak Alan/Kod düzeyinde şifrelemeyi zorunlu kıldım), bu yüzden aşağıdaki gibi bir şey yapabileceğimi umuyorum:Varlık Çerçeve Kodu İlk olarak, izinsiz ayarlayıcı mı yoksa alıcı mı?
public class Customer
{
public int CustomerID { get; set; }
public string FieldToEncrypt { get; set { _FieldToEncrypt = MyEncryptionFunction.Encrypt(); } }
}
Ancak, ayarlayıcı bir tanım varsa şemayı oluştururken, varlık çerçevesi kodu olan özellik göz ardı edebilir varsayalım. Yani sorum şu ki, EF Code First'i getters/setters ile yapmanın bir yolu var mı, yoksa bu işlevi bir kurucuya taşımalı mıyım? İçerik kaydedildiğinde gerçekleşen yöntemlerden/olaylardan birini geçersiz kılmalı mıyım?
DÜZENLEME * ** * ** * ** * ** ** * **** Bir not olarak
, ben kullanıyorum * Verileri bir OData protokol hizmeti üzerinden iletmek için DataService. Bu otomatik olarak ekleme/güncelleme/seçme yöntemlerini üretir. Önerilerin bazıları ikinci bir özellik oluşturmayı gerektirir, ancak DataService sınıfı NotMapped özelliklerinden geçmiyor gibi görünmektedir. Bu, daha önceki soruma birazcık çarpıştı.
Bir dizede şifreleme yapıyorsanız, girişe mümkün olduğunca yakın yerleştirmenizi öneririm. Yani, FieldToEncrypt = "asdf"; '(şifreleme, setterde işlenir), 'FieldToEncrypt = MyEncryptionFunction.Encrypt (" asdf ") olarak değiştirin;' –
Denediniz mi? SO üzerinde, aradığınız şekilde kutudan çıktığı izlenimini veren bir dizi benzer cevap var. Http://stackoverflow.com/questions/11962532/what-does-entityframework-code-first-do-with-property-getters-setters ve http://stackoverflow.com/questions/8990319/have-a-custom adresine bakın. ef-code-first-model-varlık için -setter-özellik- – Zeph
Sağladığınız ikinci bağlantı ihtiyacım olana daha yakın görünüyor. Ancak, alanı 'haritalama' hakkında konuşuyor. Hala alanın haritalanmasını istiyorum. Değer veritabanında kalmadan önce eşlenen değerin dönüştürülmesini istiyorum. Daha derin bir sorum var, yani: EF Kod İlk'de, kod, yerleştirmeden önce/sonra alıcıları ve ayarlayıcıları çağırıyor mu? – Richthofen