我开始在SubSonic 3上做一些测试,但我错过了一些东西。
1st:Table名称常量在哪里?我们可以使用intelisense请求某个表格相同的地方......
第二名:与上述相同,但是对于表格列......他们在哪里? 当你需要将这些名称作为字符串传递时,这非常有用...你需要重构你的数据库,我们不需要查看所有代码来查找我使用该列的位置!重新生成代码后,编译器会告诉您!
第三:现在如何在某个表上执行一个ExecuteReader,就像我习惯在2.x上通过Query对象一样?我使用了很多这个列表,其中我真的不需要业务对象(BO)开销...当我需要一个BO(用于显示网格行详细信息)时,我从行本身创建它...
我正在使用ActiveRecord btw ...
谢谢你们! 亚历
答案 0 :(得分:1)
1st:Table名称常量在哪里?我们可以使用intelisense请求某个表格相同的地方......
在Structs.tt中,在第47行找到以下代码行:
<# foreach(var col in tbl.Columns){#>
在其上方添加以下代码:
public static string TableName { get { return "<#=tbl.Name#>"; } }
现在你将拥有一个返回表名的属性。
第二名:与上述相同,但是对于表格列......他们在哪里?
在生成的Structs.cs文件中,这包含在3.0.0.3版本中
第三:现在如何在某个表上执行一个ExecuteReader,就像我习惯在2.x上通过Query对象一样?我使用了很多这个列表,其中我真的不需要业务对象(BO)开销...当我需要一个BO(用于显示网格行详细信息)时,我从行本身创建它...
如果您正在使用SqlQuery对象,则可以在其上调用ExecuteReader。或者,您可以使用Linq语法生成返回自定义形状的对象,它们将自动映射。
答案 1 :(得分:0)
第1和第2:它没有在默认的tt文件中实现。
一个类似的问题: SubSonic 3 Simple Query Tool
问题是,如果你想要2.x方式 - XColumn属性曾经是列对象而不是字符串常量,那么这不是一个正确的实现,那些是在Columns结构下找到的。所以我希望不会接受办理登机手续,而且有人会正确地办理登机手续。
无论如何,你可以看到自己修复它似乎很容易。