[英]Sql exist in Linq lambda expression
我有一個名為“ [PcValueSet]”的表。
表具有字段“ [FieldValues]”。
字段值是一個XML字段。
以下是我用來查找結果的表中的where子句。
WHERE [FieldValues].exist('/_DoorConfig2Page3Table/_DoorConfig2Page3Row/txtDoorDesign') = 1
在C#中的一種方法中,我只需要執行類似的操作即可,而我需要獲取“ txtDoorDesign”的值。
我有以下內容,但是我不確定如何創建sql中“ .exist”提供的類似功能,也不知道如何獲取元素而不是元素的值。
var temp = Db.PcValueSet.Where(x => x.Company == Session.CompanyID &&
x.FieldValues.the xml element is not null or empty).ToList();
因此,我需要在xml列中查找並返回元素的值。
如果我正確理解這一點,則說明您在給定WHERE
中使用SELECT
來檢索數據。
只需將此作為列添加到您的查詢中:
[FieldValues].value('(/_DoorConfig2Page3Table/_DoorConfig2Page3Row/txtDoorDesign)[1]','varchar(max)') AS txtDoorDesing
您的結果集將包含txtDoorDesign
的值,而不會失去.exist()
的性能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.