2013-04-28 142 views
1

我想擴展LinqToSQL TypeProvider與其他成員生成的類型。這可能嗎?例如,如果TypeProvider指向帶有名爲Company的表的數據庫,它將使類型Company可以訪問這些列。作爲一個例子,我可以將Company.employees成員轉換爲將從employees表中返回所有當前僱員的生成類型?擴展類型提供程序類型

回答

1

我不明白你爲什麼不能..只要你有類型提供者的來源!

也就是說,創建或擴展類型提供者雖然不是太複雜,但也不是微不足道的。 因此,根據這種類型生成方面對您的中心情況,最好使用現有的類型提供程序,並在「客戶端」上在其上構建一個圖層。 一旦你完善了一個引人注目的場景,這真的會產生價值,那麼你可以重複使用這個層。

您的最終方案是什麼? 現有的SQL Type provider是否涵蓋Company.employees案例?

+0

這是我想擴展的SQL Type提供程序返回的類型。我假設這個來源不可用。 – user2329716 2013-04-28 18:45:04

+0

哦,我明白了。如在FSharp.Data XmlProvider中,它具有ProvidedTypes或DomainTypes屬性? – nicolas 2013-04-28 21:42:18

+0

這是我正在嘗試做的一個例子。 型測試= {名稱:字符串} 與 構件類型測試this.add AB = A + B 令測試= {名稱= 「foo」 的} test.add 2 3 設分貝= SqlConnection.GetDataContext() 讓表= db.Table1 類型表與 成員添加ab = a + b – user2329716 2013-04-29 00:35:53

0

這聽起來像你想要做的事可以通過使用a type extension來完成。

類型擴展可以添加到任何可訪問的類型,其中應該包括類型提供程序生成的類型。

+0

謝謝,我希望如此,並嘗試添加到上下文返回的表,但無法得到它工作。 – user2329716 2013-05-14 17:47:06