Cómo contar el marco de la entidad Cómo ahorrar instancias de un tipo personalizado (que se puede almacenar como escalar)

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

  •  13-11-2019
  •  | 
  •  

Pregunta

sería posible una de mis clases de entidades para almacenar en un servidor SQL Base de datos como BIGINT. Mi pregunta es: ¿Cómo obtengo un marco de entidad? Contexto para saber cómo almacenar y recuperar instancias de mi clase de entidad?

más detalles. Estoy usando hora de NODA , que puede representar un (mucho) rango más amplio de Fechas que Can SQL o .NET DateTime (y es una cubierta de postre). Mi clase de entidad, sucediendo, es una envoltura alrededor de Nodatime. Clase instantánea. Puedo poner un suceso desde mucho, y obtener un largo desde un suceso con métodos como .setfromlong (instante largo) y .tolong ().

Actualmente tengo mi modelo de trabajo, ahorrando clases que contienen Propiedades del tipo DOT NET DateTime. Si en su lugar quiero usar propiedades. de mi tipo personalizado "sucediendo", ¿cómo puedo decir el marco de la entidad cómo salvar a esos?

Si estoy leyendo este artículo sobre el modelado y el mapeo, estoy en el ¿Ruta correcta o falta algo más simple?

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

Estoy usando el marco de entidades 4.

¿Fue útil?

Solución

Lo que recomiendo hacer es agregar 2 propiedades en su entidad un Nodatime y un largo, y excluir su propiedad de Nodatime usando [NotMape] en su modelo EF, luego en su actualización / setter actualice el largo.

es decir

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

El efecto de esto será que el largo se almacena en el DB, pero puede acceder a ella en la clase a través de Nodatime

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top