如何使用LINQ查询获取以大写,小写或组合形式保存的某些记录的计数

时间:2019-05-14 05:09:25

标签: sqlite xamarin.forms

我需要从from bs4 import BeautifulSoup as bs html = ''' <table id="example"> <tbody><tr> <th>Col1</th> <th>Col2</th> <th>Col3</th> </tr> <tr> <td>Row 1</td> <td>A</td> <td>B</td> </tr> <tr> <td>Row 2</td> <td>C</td> <td>D</td> </tr> </tbody></table> <table id="example2"> <tbody><tr> <th>Col1</th> <th>Col2</th> <th>Col3</th> </tr> <tr> <td>Not Row 1</td> <td>A</td> <td>B</td> </tr> <tr> <td>Not Row 2</td> <td>C</td> <td>D</td> </tr> </tbody></table> ''' soup = bs(html, 'lxml') #'html.parser' soup.select('#example tr:has(> td:contains("Row 1"))') 获取IN / in / In的计数,而不管记录是用Xamarin Forms的SQLite数据库中的大写,小写还是两者的组合保存,即SoccerStatus 。我该如何实现?

enter image description here

IN or in or In

1 个答案:

答案 0 :(得分:2)

使用字符串。等于并告诉它忽略大小写...

var count_in = (from x in conn.Table<SoccerAvailability>().Where(x => string.Equals(x.SoccerStatus, "IN", StringComparison.OrdinalIgnoreCase)) select x).Count();

编辑:根据您的评论,我看到您使用的Linq提供程序不支持string.Equals。您可以尝试以下方法,它们应该更便于携带,但可能会更慢...

var count_in = (from x in conn.Table<SoccerAvailability>().Where(x => x.SoccerStatus.ToUpper() == "IN") select x).Count();