有沒有一種方法來獲得數據庫列的DataType長度信息給定一個表的EntityType?實體框架 - 如何從元數據獲取數據庫列的數據類型
實例SQL(SQL Server)的,您可以運行看正是我要尋找什麼樣的信息:
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;
最後3列包含,我想有機會獲得,因爲我的數據生成一些文檔。該文檔的一個示例原因是:如果在不支持長度的屬性上設置字符串,Entity Framework將默認引發異常。無法訪問數據庫元數據的開發人員在這種情況下對長度要求的可發現性提出了挑戰。
感謝, 亞倫
但是......有包含該信息的地方應用領域的概念模型的屬性。假設信息保持最新,您可以從CSDL加載它,而不必查找映射等。 – KristoferA 2010-09-29 05:52:17
絕對。我的意思是提到這個... – 2010-09-29 15:40:23
順便說一句,如果/當這些屬性不同步時,使用我的插件中的模型比較器再次更新它們是一件輕而易舉的事情(http://huagati.blogspot.com /2010/07/introducing-model-comparer-for-entity.html) – KristoferA 2010-09-30 06:53:03