Pregunta

¿Cómo configura un campo para DBNull en Entity Framework? Los campos se escriben con fuerza, por lo que no se puede establecer igual a DBNull.Value y no se encontró ningún método para establecer un campo en DBNull. Parece que esto es algo necesario para hacer, pero después de mucha investigación en Google no encontré nada al respecto.

Estoy tratando de establecer un campo de fecha y hora en Entity Framework usando vb.net. Esto requiere que escriba

 myEntity.mydate = Nothing

Esto no establece el campo en nulo, sino que lo establece en el valor de fecha predeterminado que no es un valor de fecha válido en SQL Server.

¿Fue útil?

Solución

Si una columna es anulable en la base de datos, la clase de resultado también tendrá una propiedad anulable.

Por ejemplo, si una tabla Order tiene una columna Datetime que no acepta nulos llamada CreatedDate , la clase Order resultante Se ve algo como esto:

public partial class Order: EntityObject
{
  ...
  private DateTime? _createdDate;
  ...
}

Si _ _code> createdDate no tiene ningún valor al llamar a ObjectContext.SaveChanges () , se enviará automáticamente un System.DBNull a la base de datos. como parte del comando de inserción o actualización.

Espero que esto ayude Alex

Otros consejos

Establezca el valor del campo en null . El Entity Framework lo traducirá a System.DBNull .

Nunca usé Entidad-marco, pero ¿puedes convertir una variable en un tipo que pueda contener nulos?

algo como

dim entityVar as nullable(of date)

entonces puedes hacer el = nada y no se quedará nada.

pero como dije, nunca usé framework-entidad

mientras miraba en google, encontré que informe de error en Microsoft Connect

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