Ho una situazione in cui ho un tipo con una proprietà di tipo object
, ad es.Mappatura della proprietà del tipo di oggetto a varbinary (MAX) in Entity Framework
public class MyType
{
public virtual object MyProp{get; get;}
}
Questo tipo dovrà essere:
- salvati utilizzando
Entity Framework
a un database, comebyte[]
(ho capito la logica di serializzazione) - trasmessa attraverso WCF (userò il
KnownType
attributo)
Come mappare la mia proprietà object
assicurando t è stato convertito in un array di byte per l'archiviazione?
NB: La proprietà object
sarà un tipo di valore (non complessi)
ho pensato di creare un tipo separato per il salvataggio al database ad esempio:
public class MyTypeEntity
{
public virtual byte[] MyProp{get; get;}
}
Come posso convertire/traduci tra i tipi pur essendo ancora in grado di definire i mapping delle relazioni?
Ciò implica una sorta di intercettazione sul salvataggio?
La soluzione migliore che potrei pensare senza spezzarmi le spalle è semplicemente la memorizzazione dei dati serializzati nel DB.
Se c'era qualche forma di property covariance
in C#, forse questo avrebbe funzionato più facilmente. Per quanto ne so, non esiste. Se c'è un'alternativa elegante che posso usare, apprezzerei la tua intuizione.
Idea geniale! decisamente indolore. Non avevo idea che potessi usare partial (newbie EF). Grazie @DrewJordan – user919426
Puoi includerlo nel primo file se lo volevi ... Mi piace comunque mantenere il modello del database da solo. – DrewJordan
Vedremo cosa sarà più accettabile con la squadra, altrimenti condivido lo stesso sentimento. Devo posizionare eventuali decorazioni di attributi per assicurarmi che non sia mappato? O semplicemente non mapparlo sarà sufficiente? – user919426