[关闭]
@xuxuzhaozhao 2018-01-10T04:44:23.000000Z 字数 984 阅读 440

通过SqlServer脚本生成C#模型

数据库


将表名和数据库名替换即可生成对应的C#模型

  1. 先按CTRL+T(将结果展示为文本);
  2. 再执行下面的Sql脚本;
  3. 如果要转换到最初的以网格显示结果则直接按CTRL+D即可;
  1. SELECT
  2. ('public ' +
  3. CASE
  4. WHEN LEFT (DATA_TYPE, 3) = 'int' THEN
  5. 'int'
  6. WHEN LEFT (DATA_TYPE, 7) = 'tinyint' THEN
  7. 'byte'
  8. WHEN LEFT (DATA_TYPE, 8) = 'smallint' THEN
  9. 'short'
  10. WHEN LEFT (DATA_TYPE, 6) = 'bigint' THEN
  11. 'long'
  12. WHEN LEFT (DATA_TYPE, 5) = 'float' THEN
  13. 'float'
  14. WHEN LEFT (DATA_TYPE, 5) = 'double' THEN
  15. 'double'
  16. WHEN LEFT (DATA_TYPE, 7) = 'decimal' THEN
  17. 'decimal'
  18. WHEN LEFT (DATA_TYPE, 7) = 'money' THEN
  19. 'decimal'
  20. WHEN LEFT (DATA_TYPE, 4) = 'char' THEN
  21. 'string'
  22. WHEN LEFT (DATA_TYPE, 7) = 'varchar' THEN
  23. 'string'
  24. WHEN LEFT (DATA_TYPE, 8) = 'nvarchar' THEN
  25. 'string'
  26. WHEN LEFT (DATA_TYPE, 4) = 'text' THEN
  27. 'string'
  28. WHEN LEFT (DATA_TYPE, 8) = 'datetime' THEN
  29. 'DateTime'
  30. WHEN LEFT (DATA_TYPE, 4) = 'time' THEN
  31. 'DateTime'
  32. WHEN LEFT (DATA_TYPE, 4) = 'date' THEN
  33. 'DateTime'
  34. ELSE
  35. DATA_TYPE
  36. END+
  37. CASE
  38. WHEN LEFT (IS_NULLABLE,3) = 'YES' AND DATA_TYPE NOT IN('char','varchar','nvarchar','text') THEN
  39. '?'
  40. ELSE
  41. ''
  42. END +
  43. ' ' +
  44. COLUMN_NAME +
  45. ' { get; set; }') AS xuxuzhaozhao
  46. FROM
  47. information_schema. COLUMNS
  48. WHERE
  49. TABLE_NAME = '表名'
  50. AND TABLE_CATALOG = '数据库名';
添加新批注
在作者公开此批注前,只有你和作者可见。
回复批注