我有這個Linq to SQL查詢序列,基本上是在名爲PROJECTS的表上返回一個搜索。我正在利用延期執行來緩慢建立起來。Linq to SQL在單個查詢中使用多個DataContexts
var query = from p in objDBContext.PROJECTs
where (p.PROVIDER_ID == cwForm.productForm)
select p;
query = from p in query
where p.SubmittedDate >= cwForm.beginDateForm
select p;
我寫了返回標量值和表值作爲輔助函數,因爲LINQ不支持ISDATE()
或全文搜索一些SQL函數。它們與Projects
表格位於相同的.dbml文件中。
所以現在我有:
var dateQuery = from d in objDBContext.ISDATE
select d;
//returns a bool
var ftsQuery = from f in objDBContext.FullTextSearch
select f;
//returns a valued-table with the primary keys of hits with fulltextsearch
我的問題是,我該如何使用這些新objDBContexts原始查詢P'我還想了解如何將一個executequery()映射回原始查詢。
喜歡的東西:
query = from p in query
from d in dateQuery
from f in ftsQuery
where d.ISDATE(p.Field1) && f.FullContextSearch(searchString)
select p;
我希望是有道理的。我有幾個類型不匹配的錯誤,並嘗試了一段時間的谷歌搜索,但無法找到任何東西。
感謝Rex,那些SQL的開銷成本是多少?我非常喜歡使用LINQ2SQL構建動態SQL查詢的簡單性和清潔性。並且我的FullTextSearch返回一個帶有與searchString匹配的行的索引鍵的值表。加入會在這裏最有效率嗎? – stevenjmyu 2009-03-04 20:23:10