Come indicare al quadro di entità Come salvare le istanze di un tipo personalizzato (che può essere memorizzata come scalare)

StackOverflow https://stackoverflow.com/questions/9451000

  •  13-11-2019
  •  | 
  •  

Domanda

Una delle classi di entità sarebbe possibile memorizzare in un server SQL Database come Bigint. La mia domanda è: come posso ottenere un quadro di entità Contesto per sapere come memorizzare e recuperare le istanze della mia classe di entità?

Più dettagli. Sto usando ora noda , che può rappresentare una gamma (molto molto) più ampia di DATE TE CAN SQL o .NET DateTime (ed è un topping del dessert). La mia classe di entità, accadendo, è un involucro intorno al nodatime Classe istantanea. Posso accendere un lungo da un lungo, e ottenere un lungo Un accadimento con metodi come .setfromlong (istantaneo lungo) e .tolong ().

Attualmente ho il mio modello che funziona, salvando lezioni che contengono Proprietà del tipo di DateTime NET DOT. Se invece voglio usare le proprietà del mio tipo di personalizzazione "accadendo", come faccio a dire il quadro di entità come salvare quelli?

Se sto leggendo questo articolo sulla modellazione e la mappatura sono il traccia giusta o manca qualcosa di più semplice?

http://msdn.microsoft.com/en-us/library/ BB896343.aspx

Sto usando il quadro di entità 4.

È stato utile?

Soluzione

Quello che consiglio di fare è aggiungere 2 proprietà sulla tua entità un nodatime e un lungo, ed escludere la proprietà nodatime usando [Notmat] nel modello EF, quindi nel tuo getter / setter aggiorna il lungo.

IE

public class MyEntity{
   public long TimeAsLong{get;set;}
   [NotMapped]
   public Happening {
      get{
        return new Happening().SetFromLong(TimeAsLong);
      }
      set {
         TimeAsLong = value.ToLong();
      }
   }
}
.

L'effetto di questo sarà che il lungo è memorizzato nel DB ma è possibile accedervi sulla classe via nodatime

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top