【发布时间】:2016-02-26 15:54:16
【问题描述】:
我有一个数据库,其中包含一个名为 Results 的 XML 列。 此列包含工厂测试的结果和不同的 XML 格式,具体取决于执行的测试。
我正在开发一个可以浏览结果的 GUI,因此我需要动态过滤此列。
我的第一个想法是使用Results.contains("myfilter"),但这似乎不起作用。
我正在使用带有 linq 和实体的 Visual Studio 2015。
这是我的查询:
Using context As New Entities
Dim query = From tr In context.TestResults
Join t In context.Tests On a Equals tr.Tests
Join ts In context.TestStations On ts Equals tr.TestStations
Join ut In context.UnitTraveler On ut Equals tr.UnitTraveler
Where t.Id = TestID
Where ts.Id = TestStationID
Where tr.Results.Contains("TestCurrent")
Take Count
Select ut.SerialNumber, ut.ModelString, ut.Passed, tr.Results, tr.StartedOn, tr.EndedOn
Order By StartedOn Descending
End Using
2015-12-01 更新:我仍然没有找到解决方案。有人有想法吗?
【问题讨论】:
-
由于 .NET 中的 XML data type in SQL mapped to
XElement,我会尝试:Where tr.Results.ToString().Contains("TestCurrent")(虽然不确定 LINQ-to-SQL 是否支持XElement.ToString()) -
这不起作用。 tr.Results.toString 也不像 "%TestCurrent%" 或 tr.Results.toString 像 "TestCurrent"
-
我还没有找到解决方案。有人有想法吗?