olarak davranan özel bir serileştirme özniteliği nasıl eklenir? EntitySet ve EntityRef sınıflarını içeren db linq nesnelerinin bazı serileştirilmesini yapıyorum..NET, C#: ISerializable arabirimi
Bu sınıfların serileştirilmesiyle başa çıkmak için oldukça kolay bir yol buldum. Bu tür üyelerin düzgün bir şekilde işlemesi için ISerializable (serileştirme için listelere dönüştürmek ve serileştirme üzerine geri almak).
[Serializable]
[SerializeLinqEntities]
partial class Person
{ ... }
yerine:
partial class Person : ISerializable
{
public virtual void GetObjectData(SerializationInfo si, StreamingContext ctxt)
{
EntitySerializer.Serialize(this, typeof(Person), si, ctxt);
}
protected Person(SerializationInfo si, StreamingContext ctxt)
{
EntitySerializer.Deerialize(this, typeof(Person), si, ctxt);
}
}
bunu yapmanın bir yolu var mı yapabileceğim eğer
Ancak, gerçekten güzel olurdu? Seri hale getirme sınıflarını inceledim ve özel serileştirme filtresi rutinlerini (özel özniteliğimi bulabileceğim) kurulumu için herhangi bir yol bulamadım.
Teşekkürler!
IClientFormatterSinkProvider ve IServerFormatterSinkProvider benziyor benim özel SurrogateSelector set ile BinaryFormatter sunmamızı sağlayacaktır. Tekrar teşekkürler Sergey! – marq
Hmm ... öyle görünüyor ki, Microsoft bunu göründüğünden çok daha zorlaştırdı. Aşağıdaki bağlantıya bakın: http://www.123aspx.com/Rotor/RotorSrc.aspx?rot=40027 Sink sağlayıcıları, ortaya çıktığı gibi oldukça karmaşıktır ve yalnızca birini uygulamak kadar basit değildir. Gerçekten, daha iyi bir arayüz API'sinin, ikili seri hale getirme ile arabirim sağlamasını isterdim ... – marq