这是我的问题。我们有一个企业、用户或任何东西的列表,我们必须使用“StartsWith”搜索类型对其进行搜索。所以在我们的网站上,我们没有像文本框这样的搜索字段,但我们有一个搜索标题,包括 27 个按钮“#”、“A”、“B”、“C”、[...]” Z”。
我们遇到的问题是,如果用户单击“E”按钮,当我们查询从数据库中获取值时,企业名称可能以“É”、“È”、“Ê”开头,因为是的,我们的网站是法语的. 关于如何在 LINQ 中执行此操作的任何想法。
知道我们正在使用 LLBLGen Pro 也很重要。所以我想它需要有一些东西他可以转换成一个有效的 SQL 查询。
这是我们已经尝试过的:
IList<Enterprise> 企业; 开关(搜索字符){ [...] 案例“E”: 企业=来自ourContext.Enterprises中的ent 其中“eèéêë”.Any(param => ent.name[0] == param) 选择耳鼻喉科; 休息; [...] }
这给了我们这个错误相对于不可转换的查询:
Unable to cast object of type 'System.Linq.Expressions.ConstantExpression' to type 'SD.LLBLGen.Pro.LinqSupportClasses.ExpressionClasses.SetExpression'.
因此,我们尝试通过简单的 LINQ 查询来实现它,而无需查询 DB 以了解它是否可能。
IList<string> test = new List<string>() { "École", "enlever", "avoir" }; IList<string> 结果 =(来自测试中的值 其中“eéèêë”.Contains(value[0].ToString()) 选择值).ToList();
这个查询的奇怪之处在于它没有崩溃。但是,这也行不通!调试时,它会通过它,但是当我们尝试查看“结果”列表中的内容时,就好像里面什么都没有。我的意思是,列表只是空的。但是尝试捕获没有任何失败!
请帮忙 !