¿Hay alguna forma de obtener la información de la longitud de DataType de la columna de base de datos dada EntityType de una tabla?Entity Framework: cómo obtener el tipo de datos de columna de base de datos de metadatos
Ejemplo SQL (SQL Server) que se puede ejecutar para ver exactamente qué información Busco:
select
sys.tables.name as 'Table Name',
sys.columns.name as 'Column Name',
sys.systypes.name as 'DataType',
sys.columns.max_length as 'Max Length',
sys.columns.precision as 'Precision'
from
sys.columns, sys.systypes, sys.tables
where
sys.columns.system_type_id = sys.systypes.xtype
and sys.systypes.name <> 'sysname'
and sys.tables.type = 'U'
and sys.tables.name <> 'sysdiagrams'
and sys.columns.object_id=sys.tables.object_id
order by
sys.tables.name, sys.columns.column_id;
Las 3 últimas columnas contienen los datos que me gustaría tener acceso a porque soy generando alguna documentación. Un ejemplo de razón para la documentación es: Entity Framework arrojará una excepción por defecto si una cadena se establece en una propiedad que no puede soportar su longitud. Un desarrollador sin acceso a los metadatos de la base de datos tiene un desafío con la detectabilidad de los requisitos de longitud en este caso.
Gracias, Aaron
... Pero hay atributos modelo conceptual que contienen esa información para los campos donde se aplica. Suponiendo que la información se mantenga actualizada, puede cargarla desde el CSDL en lugar de tener que buscar asignaciones, etc. – KristoferA
Absolutamente. Quería mencionar esto ... –
Por cierto, si/cuando esos atributos no se sincronizan es muy fácil actualizarlos de nuevo con el comparador de modelos en mi complemento ... (http://huagati.blogspot.com /2010/07/introducing-model-comparer-for-entity.html) – KristoferA