我有這個簡單的查詢:LINQ查詢,其中包含
SELECT xObjectID, xObjectName
FROM dbo.xObject
where CONTAINS(xObjectRef, '1838 AND 238671')
而我試圖轉換爲LINQ,但我不能讓它工作, 而且它的駕駛我逼瘋了。
謝謝!
我有這個簡單的查詢:LINQ查詢,其中包含
SELECT xObjectID, xObjectName
FROM dbo.xObject
where CONTAINS(xObjectRef, '1838 AND 238671')
而我試圖轉換爲LINQ,但我不能讓它工作, 而且它的駕駛我逼瘋了。
謝謝!
全文搜索與linq to sql不兼容。你將不得不調用一個存儲過程。
編輯:
還是要LINQ查詢將返回相同的結果集的SQL?
我剛剛纔得知這確實是一個全文檢索查詢。 是否有可能在linq中獲得相同的結果(大致相同的性能?) – user940602 2012-03-22 12:50:42
真的取決於。 dbo.xObject表中有多少行?如果沒有那麼多,那麼使用linq(它會生成一個sql'LIKE'命令)應該沒問題。 – Umair 2012-03-22 13:08:42
不是有成千上萬。我已更改爲存儲過程。 現在研究如何將結果導入另一個數據類。 我曾經有選擇新的FlValue()但是,這似乎不適用於存儲過程。 – user940602 2012-03-22 13:09:58
var a = xObject.where(n=>n.Contains("1838") && n.Contains("238671"))).
Select(s=>new {xObjectID=s.xObjectID , xObjectName=s.xObjectName});
這是否適合您?這確實需要xObjectRef
是xObject
的財產。
from obj in dbo.xObject
where obj.xObjectRef.Contains("1838") && obj.xObjectRef.Contains("238671")
select new { xObjectId = obj.xObjectId, xObjectName = obj.xObjectName}
恕我直言,它應該是和 – 2012-03-22 12:47:04
Ofcourse你是對的。在我的腦海裏溝通不暢......;) – Ropstah 2012-03-22 12:49:03
var query = from c in context.xObject
where c.xObjectRef.Contains("1838") && c.xObjectRef.Contains("238671")
select new { ObjectID = c.xObjectID, ObjectName = c.xObjectName };
請出示你已經嘗試 – 2012-03-22 12:44:53