Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Entity Framework:mapeie varchar para a propriedade DateTime


O EF lança erro toda vez que você define um tipo no modelo diferente da tabela, ou seja, se você definir um campo como inteiro no modelo, mas esse campo tiver um tipo de string na tabela, então no carregamento de dados ele vai te dar um erro. Para evitar isso você tem que fazer uma solução alternativa, declarando uma propriedade pública com o tipo de tabela equivalente e transformando-a no tipo desejado do modelo, tente algo assim:
[Table("webnews_in")]
public class WEBNews_in : AbsNews {

   private DateTime _inDateTimeAdded = DateTime.MinValue;

   public string InDateTimeAdded {
       get {
           return Format(_inDateTimeAdded, " dd/MM/yyyy hh:mm:ss tt");
       }
       set {
           _inDateTimeAdded = DateTime.Parse(value);
       }
   }

   private DateTime _inDateTimeUpdated = DateTime.MinValue;

   public string InDateTimeUpdated {
       get {
           return Format(_inDateTimeUpdated, " dd/MM/yyyy hh:mm:ss tt");
       }
       set {
           _inDateTimeUpdated = DateTime.Parse(value);
       }
   }
}