我有一个数据库,其中包含一个名为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更新:我还没有找到解决方案。有没有人有想法?
答案 0 :(得分:0)
如果Results
属性的类型为String
,并且您在此字符串中搜索特定子字符串,则可以使用此字符:
query = (From tr In ... Where tr.Results Like "*TestCurrent*")
如果结果是集合或列表
query = (From tr In ... Where tr.Results.Find(Function(f As Result) f.Contents Like "*TestCurrent*") IsNot Nothing)
请根据您的班级名称和属性更改用过的词语结果和内容。