with net examples espaƱol consultas conexion asp c# .net linq-to-sql enums

c# - net - Almacene enumeraciones en sql-server usando Linq-to-sql



linq with sql in c# (1)

¿Cómo se almacenan las enumeraciones en sql-server usando linq-to-sql?

Terminé teniendo muchas conversiones hacia y desde int en mi código. Tiene que haber una mejor manera. ¿Qué me perdí?

sqlItem.enumValue = (int)myEnumValue; ... myEnumValue = (MyEnumType)sqlItem.enumValue

No importa si SQL Server o LINQ almacenan los valores como cadenas o entradas en la base de datos, solo quiero evitar todas estas typecasts salpicadas en todo mi código.

¿Podría resolverse con un método de extensión para mis clases de linq-a-sql y, de ser así, cómo sería?


Puede usar una asignación para tipos de la base de datos desde el editor DBML.

Suponiendo que está trabajando desde Visual Studio (el orden en que se realizan estas acciones puede ser muy irritante, ya que anula automáticamente su selección actual en el editor al abrir las propiedades, y así sucesivamente):

  • abra el editor DBML,
  • abra la vista / pestaña "Propiedades"
  • especifica el tipo en el campo "Tipo".

En mi experiencia, solo ingresar el tipo en la forma de <namespace>.<type> no siempre es exitoso, creo que este es el matiz al que se refiere @leppie; para mayor seguridad, use global::<namespace>.<type> .