2009-07-17 53 views
0

我開始在SubSonic 3上做一些測試,我錯過了一些東西。我在SubSonic 3上缺少功能

1st:表名稱常量在哪裏?我們可以使用intelisense請求相同的某個表的地方...

第2:同上,但對於表列...他們在哪裏? 當你需要將這些名稱作爲字符串傳遞時,這非常有用......它需要重構你的數據庫,我們不需要查看所有的代碼來找到我在哪裏使用該列!一旦你重新生成代碼,編譯器會告訴你!

第3:現在我怎麼能執行某個表上的ExecuteReader,就像我習慣於通過查詢對象的2.x?我用這個很多列表,我真的不需要業務對象(BO)的開銷...當我需要一個BO(用於顯示網格行細節)時,我從該行自己創建它...

我使用ActiveRecord btw ...

謝謝你們! Alex

回答

1

1st:表名稱常量在哪裏?在這裏我們可以問同樣使用智能感知某個表的地方......

在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查詢對象?我用這個很多列表,我真的不需要業務對象(BO)的開銷...當我需要一個BO(用於顯示網格行細節)時,我從該行自己創建它...

如果你使用的是SqlQuery對象,你可以在其上調用ExecuteReader。或者,您可以使用Linq語法來生成返回自定義形狀對象,並且它們會自動映射。

0

1st和2nd:它沒有在默認的tt文件中實現。

一個類似的問題: SubSonic 3 Simple Query Tool

問題是,不是,如果你想在2.x方式正確實施 - 曾經是列對象而不是字符串常量的XColumn性能,這些都列結構下找到。所以我希望辦理登機手續不會被接受,並且有人會正確地使用2.x。

無論如何,你可以看到它很容易修復它自己。

+0

好的......我以爲我錯過了一些東西。 表名結構是否正確? 我想我只是修改模板。 第三個問題呢? – AlexCode 2009-07-18 14:30:29