簡體   English   中英

Linq Lambda表達式中存在SQL

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM