Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/294.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/macos/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 返回小写的值_C#_Asp.net Mvc_Entity Framework_Linq - Fatal编程技术网

C# 返回小写的值

C# 返回小写的值,c#,asp.net-mvc,entity-framework,linq,C#,Asp.net Mvc,Entity Framework,Linq,我们最近在系统中发现了一个错误,即任何以小写形式输入的序列号都没有得到正确处理 为了纠正这一点,我们需要添加一个一次性函数,该函数将在数据库中运行,并使用小写序列号重新处理所有项目 在linq中,我是否可以运行一个查询来返回此类项目的列表 注意:我不是问如何将小写转换为大写或反转,这是谷歌将返回的全部内容。我需要生成一个所有数据库条目的列表,其中序列号是用小写字母输入的 编辑:我正在使用Linq to MS SQL,它似乎不区分大小写 是的,有。您可以尝试以下方法: var result = s

我们最近在系统中发现了一个错误,即任何以小写形式输入的序列号都没有得到正确处理

为了纠正这一点,我们需要添加一个一次性函数,该函数将在数据库中运行,并使用小写序列号重新处理所有项目

在linq中,我是否可以运行一个查询来返回此类项目的列表

注意:我不是问如何将小写转换为大写或反转,这是谷歌将返回的全部内容。我需要生成一个所有数据库条目的列表,其中序列号是用小写字母输入的


编辑:我正在使用Linq to MS SQL,它似乎不区分大小写

是的,有。您可以尝试以下方法:

var result = serialnumber.Any(c => char.IsLower(c));
[编辑]

好吧,如果Linq是实体的话

正如这里所说的:,几乎没有办法解决这个问题

  • 更改数据库表结构。例如,创建表Foo_Filter,将实体链接到过滤器。然后创建表过滤器 其中将包含过滤器数据

  • 在内存中执行查询并使用。这个选项会很慢,因为您必须将所有数据从数据库提取到内存中

注意:我已经添加了MSDN文档的链接

例如:

var result = context.Serials.ToList().Where(sn => sn.Any(c => char.IsLower(c)));
另一种方法是使用


最后,我强烈建议您阅读以下内容:

您尝试过什么?张贴你的代码你没有显示你的序列号看起来如何,你没有显示你的EF是如何构造的,你没有显示你尝试了什么。我们应该如何提供帮助?我的水晶球坏了。你也没有告诉我们这个问题有多大-1000个序列号?一百万?更多您可以尝试一些简单的方法,如
serialNo.Where(s=>s==s.ToLower()
,如果数量很少的话。您可以检查任何()如果一个较低,其他人也可能较低。如果这是一次性工作,它甚至可能根本没有性能。只要在Sql上抓取并存储在临时表中就足以隔离它们。在发布时,我没有尝试过任何东西,因为我甚至不知道从何处开始。我已经尝试过s==s.ToLower(),但是linq/SQL Server不区分大小写,因此返回所有序列,而不仅仅是小写序列。这是一项一次性工作,因此性能并不重要。不是downvoter-但我不建议任何事情,因为Q在任何细节上都非常不清楚。可能是某人的原因。@PatrickArtner,如果这是DownVote的原因,我觉得悲哀。我也是,你的建议是正确的。但这是一个尚未形成的问题,因此我也不会对你的答案投赞成票;)通常,这些问题的答案会让你感到痛苦。。。。b/c得到细化和细化,最终完全达到与您想象的完全不同的效果。@MaciejLos-这在纸上看起来是理想的解决方案,但是它似乎不适用于linq to实体。对不起,我应该指定的that@GavinCoates,SQL提供了一种检测小写字母的方法<代码>其中序列号类似“%[a-z]%”