Pregunta

LINQ to SQL permite que las asignaciones de tablas se conviertan automáticamente a Enums especificando el tipo de columna; esto funciona para cadenas o números enteros.

¿Hay alguna manera de hacer que la conversión no distinga entre mayúsculas y minúsculas o agregar una clase de mapeo personalizado o un método de extensión a la combinación para poder especificar cómo debería verse la cadena con más detalle?

Las razones para hacerlo podrían ser proporcionar una convención de nomenclatura más agradable dentro de algún código C# nuevo y original en un sistema donde el esquema de datos ya está configurado (y algunas aplicaciones heredadas confían en él) para que el texto real en la base de datos pueda No se puede cambiar.

¿Fue útil?

Solución

Siempre puede agregar una clase parcial con el mismo nombre que su clase LinqToSql y luego definir sus propios parámetros y funciones.Luego serán accesibles como parámetros y métodos de objeto para este objeto, de la misma manera que se puede acceder a los métodos LinqToSql generados automáticamente.

Ejemplo:Tienes una clase LinqToSql llamada Car que se asigna a la tabla Car en la base de datos.Luego puede agregar un archivo a App_Code con el siguiente código:

public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

No estoy seguro de si esto cumple totalmente con su requisito de cambiar la forma en que se asignan las enumeraciones en una columna.Sin embargo, puede agregar un parámetro donde las propiedades get/set funcionarán para asignar las enumeraciones que necesita sin distinguir entre mayúsculas y minúsculas.

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