首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >SubSonic包含表作为排除的替代方案

SubSonic包含表作为排除的替代方案
EN

Stack Overflow用户
提问于 2009-07-16 14:12:04
回答 3查看 841关注 0票数 1

SubSonic很棒,可以帮助我更快地编写代码,但现在我遇到了一些我认为可以帮助大量程序员的东西。

我在一个巨大的数据库上编程,但只需要大约50个表中的6到7个表。Settings.ttinclude中的排除要求我输入其他不需要的表。我希望有一个IncludeTables字符串数组来加速应用程序所需的表的输入。

希望SubSonic项目的团队已经有了这个问题的补丁/修复。

编辑后,我看到v2.2有includeTableList和其他配置选项的完整列表。在v3.0.0.2中,我在哪里设置这些?

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2009-07-19 06:16:02

拥有T4模板的目的是让你可以自己做-而不是让我们来修复它(老实说,我们并不介意-但这对你来说更容易)。在这种情况下,大多数人只有几个表要排除。

也就是说,在下一个版本中,我将使该方法更加通用,以便您可以根据需要更改它(而不是检查数组-我应该问"ShouldGenerate()")。

票数 1
EN

Stack Overflow用户

发布于 2009-07-16 15:11:16

我不是SubSonic专家,但如果您使用的是ActiveRecord t4模板,您可以只编辑模板本身。

在SQLServer.ttinclude中查找:

代码语言:javascript
运行
复制
const string TABLE_SQL=@"SELECT *
    FROM  INFORMATION_SCHEMA.TABLES";

只需在上面添加一个WHERE子句,以便只包含您想要的表。

票数 2
EN

Stack Overflow用户

发布于 2009-07-16 15:49:19

Sestocker -谢谢你...我相信这是可行的,但我有我想要的解决方案:

在Settings.ttinclude中,在ExcludeTables变量下面有一个IncludeTables变量:

代码语言:javascript
运行
复制
string[] ExcludeTables = new string[]{
....
};

string[] IncludeTables = new string[]{
....
};

然后我更新了ActiveRecord.tt和Context.tt,更改了检查ExcludeTables的代码:

代码语言:javascript
运行
复制
if(!ExludeTables.Contains(tbl.Name))
....

到这个

代码语言:javascript
运行
复制
if(IncludeTables.Contains(tbl.Name))
....

因此,我确保所有对"!ExcludeTables“的引用都更改为"IncludeTables”。

它生成了我需要的类,但我还没有测试它。

我会看看我是否可以在t4模板上工作一点,让代码同时使用Exclude和Include,并看看我是否可以在今天晚些时候或明天在网上发布它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/1137888

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档