2009-03-01 23 views
0

有沒有人知道一個這樣的事情,作爲.Net的SQL寫作庫?我認爲這將是一個面向對象風格的生成查詢包裝。可能類似以下內容:SQL寫入庫

class SelectQuery : BaseQuery 
{ 
    List<Column> SelectedColumns { get; set; } 
    Table MainTable { get; set; } 
    List<Join> Joins { get; set; } 
    List<Condition> Conditions { get; set; } 
    List<Column> Order { get; set; } 

    string Write() { } 
} 

不知道爲什麼我在尋找要做的事情。而且,沒有具體的問題可以解決我的問題,我只是對看到這樣的事情感興趣。

請注意,我不是在尋找一個O/RM,而是一種寫入SQL的方式,並用對象表示查詢。

回答

1

LINQ to SQL這樣做。
nHibernate會這樣做。 LINQ to Entities執行此操作。

基本上,你似乎在尋找一個O/R映射器,其中有很多競爭產品。

+0

不,我不是在尋找一個O/RM,而是一種編寫SQL並在對象中表示它的方法。很可能,在LINQ查詢處理管道的某處,就是這樣的事情。 – sledgebox 2009-03-01 23:41:23

+0

@sledgebox:你在談論LINQ映射到的IQueryable 擴展方法嗎? – 2009-03-02 00:01:13

2

nHibernate有一個名爲Antlr的新項目,它是SQL查詢的抽象語法樹。我沒有看過它,但它可能是你想要的。

0

請參閱this discussion關於對象角色建模。這是我見過的關於關係數據庫設計概念討論的唯一可用工具。