相关疑难解决方法(0)

LINQ to Entities区分大小写比较

这不是LINQ to Entities中区分大小写的比较:

Thingies.First(t => t.Name == "ThingamaBob");
Run Code Online (Sandbox Code Playgroud)

如何与LINQ to Entities实现区分大小写的比较?

.net c# linq-to-entities entity-framework-4

110
推荐指数
4
解决办法
6万
查看次数

String.Equals()无法正常工作

我正在使用LINQ搜索我的一个Entity Framework表,并根据名称找到一个"组".名称是一个字符串,看起来是Unicode(说它在edmx中).我有一个方法GetGroup(),我传递一个名称来搜索.通过代码调试,我已经在我的数据库中有一个名为"Test"的组.一旦我传入名为"TEST"的组,我希望它返回已经在数据库中的"Test".它出于某种原因,没有找到"测试"并认为"测试"不存在.这是我的查询,我不明白为什么它不起作用.请帮忙.

"name"是组名中传递的..Equals如果gr.Name和名字完全相同,我似乎只能工作.如果一个字符在两个字符串之一中是大写字母,则.Equals不起作用.我试图使用InvariantCultureIgnoreCase,这似乎没有帮助.如果有人询问,MyLeagueId并且LeagueId将始终匹配,则设置数据库,以便可以存在不同联盟ID中的组.我不认为这是问题所在.

Group g = (from gr in this.DatabaseConnection.Groups
           where gr.Name.Equals(name, StringComparison.OrdinalIgnoreCase) &&
           gr.LeagueId == this.MyLeagueId
           select gr).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

c# linq equals entity-framework-4

38
推荐指数
5
解决办法
3万
查看次数

LINQ 表达式无法翻译,将在本地进行评估

我在 EntityFramework Core 中收到此警告,有什么问题?

我已经将 MSSQL 数据库设置为区分大小写。

Latin1_General_100_CS_AS

var test = await _context.Students
                .FirstOrDefaultAsync(m => m.LastName.Equals("ALEXANDER", StringComparison.InvariantCultureIgnoreCase));
Run Code Online (Sandbox Code Playgroud)

Microsoft.EntityFrameworkCore.Query:警告:LINQ 表达式 'where [m].LastName.Equals("ALEXANDER", InvariantCultureIgnoreCase)' 无法翻译,将在本地进行评估。

c# linq sql-server entity-framework entity-framework-core

16
推荐指数
2
解决办法
3万
查看次数

如何忽略LINQ-to-SQL的情况?

我在使用LINQ-to-SQL获取数据时遇到问题.我使用以下代码来查找用户的Web应用程序(用户名是电子邮件地址):

var referenceUser = 
    db.ReferenceUsers
      .SingleOrDefault(rf => rf.Email == values["emailAddress"]);
Run Code Online (Sandbox Code Playgroud)

如果我输入,test@test.com我会得到一个,ReferenceUser但如果我打字,tESt@tESt.com我不会.如何在选择用户时让LINQ忽略这种情况?

c# linq-to-sql

11
推荐指数
2
解决办法
2万
查看次数

LINQ区分大小写

如何根据情况使LINQ区分大小写并且不区分大小写?

我正在使用sql server 2008和Entity Framework 4.0.

我更改了COLLATION以使SQL Server区分大小写.所以对于这样的场景:

 query = query.Where(x => x.Username == username);
Run Code Online (Sandbox Code Playgroud)

它很棒.但是,当按主题(或名称或类似)搜索时,我需要能够从db 忽略大小写中提取数据,如下所示:

query = query.Where(x => (x.Name.Contains(Name)));
Run Code Online (Sandbox Code Playgroud)

当记录是"TestString"并且我正在寻找"测试"或"测试"或类似时,它不起作用.我如何才能使它在文本中找到文本或字符串的一部分?谢谢

sql linq linq-to-entities

7
推荐指数
2
解决办法
1万
查看次数

如何在Linq查询中比较字符串

CompareTo不适合我.

我的linq查询是

var result = from c in customers 
             where c.CustomerID.CompareTo(txtSerchId.Text) >= 0 
             select` c;
Run Code Online (Sandbox Code Playgroud)

而他们得到一个例外

//////例外///////////

System.ArgumentException was caught
Message=Value does not fall within the expected range.
Run Code Online (Sandbox Code Playgroud)

我的代码是这样的

var result = 
    from c in customers 
    where c.CustomerID.CompareTo(txtSerchId.Text) >= 0 
    select c;

if (result != null)
{
    IEnumerator<Customer> resultEnum = result.GetEnumerator();
    while (resultEnum.MoveNext())
    {
        Customer c = (Customer)resultEnum.Current;
        addToDataSet(Guid.NewGuid().ToString(), c);
    }
    ShowResult();
}
else
{
    MessageBox.Show("No Customer found within criteria");
}
Run Code Online (Sandbox Code Playgroud)

异常就在这条线上

IEnumerator<Customer> resultEnum = result.GetEnumerator();
Run Code Online (Sandbox Code Playgroud)

c# linq argumentexception

6
推荐指数
1
解决办法
5万
查看次数

获取密码时的字符串比较

我会问一个非常基本的问题,但是因为我遇到了这个问题而且我不知道为什么会发生这种情况.通常当我们比较两个字符串如s1 == s2时,它会与长度,字符,大小写等进行比较,但在linq中使用以下查询时,它与字符串的大小写不匹配.我的DB有Password123,但是当我输入password123时,它也会返回一条实际上错误的记录.我的查询是: var row = DB.tbllogin.Where(m => m.Id == LoginId && m.Password == pwd.Trim()).FirstOrDefault();

它与案例不匹配.DB中的字段是nvarchar类型,pwd是字符串类型,我使用的是Entity Framework ORM.

.net c# asp.net c#-4.0 asp.net-mvc-3

2
推荐指数
1
解决办法
139
查看次数

在linq查询中区分大小写

这段代码使用Authentication person进行登录,我的问题是密码,例如if

pass = AAaa我们在系统中输入aaaa登录,如何处理搜索中的区分大小写?

Inspector inspector = context.Inspectors.Where(i => i.InspectorUserName == userName

                && i.InspectorPssWord == passWord).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)

谢谢

c# linq

1
推荐指数
1
解决办法
1322
查看次数

Linq表达式区分大小写?

到目前为止我所读到的Linq(以及C#)已经进行了区分大小写的检查.

如何使其不敏感?

这是我的代码,它返回0行,我在数据库中有一条记录

bool result = Employee.SearchBy(x => x.Name.Contains("johN schulZ"));
Run Code Online (Sandbox Code Playgroud)

这返回true:

bool result = Employee.SearchBy(x => x.Name.ToLower().Contains("johN schulZ".ToLower()));
Run Code Online (Sandbox Code Playgroud)

后一个解决方案正在运行,但我想知道是否有更方便的方法.

c# linq linq-to-sql

0
推荐指数
1
解决办法
279
查看次数