Supongamos que tengo una tabla con la columna Descripción, varchar (100). Si intenta insertar una cadena con más de 100 caracteres, la inserción fallará.Entidad Framework 4.0 Truncar automáticamente/Trim cadena antes Insertar
¿Hay alguna manera en Entity Framework de truncar o recortar automáticamente la cadena para que quepa en la columna antes de insertarla en la columna? En mi caso, realmente no me importa si la cadena está truncada, solo quiero que se inserte en lugar de solo fallar y registrar el error.
Dado que el modelo ya conoce los límites de longitud, estaba pensando que podría haber una forma de que Entity Framework hiciera esto por mí.
Si esto no es compatible, ¿cuál es la mejor manera de hacerlo? ¿Extiende las clases parciales generadas automáticamente y anula los métodos On * Changed? Preferiría no codificar los límites de longitud, sino usar los límites de longitud ya definidos en el modelo de entidad. ¿Cómo podría tener acceso a esto?
Editar
Mi solución final era poner en práctica el método * El parcial ha cambiado de la entidad autogenerada.
Usé this method para obtener el ObjectContext de la instancia de entidad, y luego usé el siguiente método para extraer la longitud máxima y truncar la cadena.
Funciona, pero curiosamente, sólo para algunas columnas. Parece que EF no puede recuperar la longitud de la columna de columnas arbitrarias en mi caso. –
@ReuelRibeiro Si puede crear pasos de reproducción y ponerlo en una nueva pregunta, con mucho gusto echaré un vistazo para ver si puedo solucionarlo por usted. No he tenido problemas con este código, aunque recientemente dejé de usarlo ahora que Entity Framework Extensions tiene esta funcionalidad incorporada y la usamos ahora. – Jaxidian