Entity Framework - como obter o tipo de dados da coluna do banco de dados a partir de metadados
Existe uma maneira de obter as informações de comprimento do DataType da coluna do banco de dados, segundo o EntityType da tabela?
Exemplo de SQL (SQL Server) que você pode executar para ver exatamente quais informações estou procurando:
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;
As últimas 3 colunas contêm os dados aos quais eu gostaria de acessar porque estou gerando alguma documentação. Um motivo de exemplo para a documentação é: O Entity Framework emitirá uma exceção por padrão se uma string for definida em uma propriedade que não pode suportar seu comprimento. Um desenvolvedor sem acesso aos metadados do banco de dados tem um desafio com a capacidade de descoberta de requisitos de comprimento neste caso.
Obrigado Aaron