【发布时间】:2012-10-31 15:57:41
【问题描述】:
您知道任何可以为我提供基本 DB 模式方法和属性(GetTables、GetColumns、MapSqlTypesToClr 等)的 T4 模板吗?
我知道检索这些信息很容易,但是周围有很多额外的辅助函数,所以为什么要重新发明轮子?
【问题讨论】:
您知道任何可以为我提供基本 DB 模式方法和属性(GetTables、GetColumns、MapSqlTypesToClr 等)的 T4 模板吗?
我知道检索这些信息很容易,但是周围有很多额外的辅助函数,所以为什么要重新发明轮子?
【问题讨论】:
你可能已经知道了,但我会在这里留下一个可能的解决方案。
SubSonic 3 使用 T4 进行代码生成,它的数据库检查器对你来说应该绰绰有余。 看看:http://subsonicproject.com/
【讨论】:
不确定 T4 的位置在哪里,但您可以尝试 Wizardby:它可以执行数据库模式逆向工程并返回一个包含所有表和列的漂亮 Schema 对象。至于将DbTypes 映射到CLR 类型,您需要一个合适的IDbTypeMapper(我认为SqlServer2005TypeMapper 可以)。
【讨论】:
这是一个 T4 模板,它将架构转储到 c# 静态类库中,它可能会执行您想要完成的任务: codepaste.net snippet
我无法在此处粘贴代码,因为语法荧光笔不喜欢 T4 标记(谁喜欢?)。
这将允许您像这样获取列名:
string columnName= dbSchema.Tables.Products.Columns.QuantityPerUnit.ColumnName;
【讨论】: