Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/entity-framework/4.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# 不使用大小写也不使用查找逻辑,但您告诉我如何更改查询以匹配所有内容,而不依赖string.Contains逻辑。老实说,这是我们最小的麻烦之一:)。数据库迁移中的冒险。无论如何,谢谢你提供的信息。 public List<InventoryModel_C#_Entity Framework_Linq To Sql - Fatal编程技术网

C# 不使用大小写也不使用查找逻辑,但您告诉我如何更改查询以匹配所有内容,而不依赖string.Contains逻辑。老实说,这是我们最小的麻烦之一:)。数据库迁移中的冒险。无论如何,谢谢你提供的信息。 public List<InventoryModel

C# 不使用大小写也不使用查找逻辑,但您告诉我如何更改查询以匹配所有内容,而不依赖string.Contains逻辑。老实说,这是我们最小的麻烦之一:)。数据库迁移中的冒险。无论如何,谢谢你提供的信息。 public List<InventoryModel,c#,entity-framework,linq-to-sql,C#,Entity Framework,Linq To Sql,不使用大小写也不使用查找逻辑,但您告诉我如何更改查询以匹配所有内容,而不依赖string.Contains逻辑。老实说,这是我们最小的麻烦之一:)。数据库迁移中的冒险。无论如何,谢谢你提供的信息。 public List<InventoryModel> FindByTrackingNumberSubstring( string substring ) { // (bad) matches nothing when argument is string.Empty //

不使用大小写也不使用查找逻辑,但您告诉我如何更改查询以匹配所有内容,而不依赖
string.Contains
逻辑。老实说,这是我们最小的麻烦之一:)。数据库迁移中的冒险。无论如何,谢谢你提供的信息。
public List<InventoryModel> FindByTrackingNumberSubstring( string substring )
{
    // (bad) matches nothing when argument is string.Empty
    //var query = _modelTable.Where( entity => entity.Tracking_Number.ToLower().Contains( substring.ToLower() ) );

    // (good) matches everything when argument is string.Empty
    string lower = substring.ToLower();
    var query = _modelTable.Where( entity => entity.Tracking_Number.ToLower().Contains( lower ) );

    return query.ToList<InventoryModel>();
}

// SQL for queries 1 and 2, respectively (stripped out SELECT and FROM stuff for brevity)
WHERE ((CASE WHEN (( CAST(CHARINDEX(LOWER(@p__linq__0), LOWER([Extent1].[Tracking Number])) AS int)) > 0) THEN cast(1 as bit) WHEN ( NOT (( CAST(CHARINDEX(LOWER(@p__linq__0), LOWER([Extent1].[Tracking Number])) AS int)) > 0)) THEN cast(0 as bit) END) = 1)
WHERE ((CASE WHEN (LOWER([Extent1].[Tracking Number]) LIKE @p__linq__0 ESCAPE N'~') THEN cast(1 as bit) WHEN ( NOT (LOWER([Extent1].[Tracking Number]) LIKE @p__linq__0 ESCAPE N'~')) THEN cast(0 as bit) END) = 1)
if(!string.IsNullOrEmpty(substring))
    query = query.Where(entity => entity.Tracking_Number.Contains(substring));
if(!string.IsNullOrEmpty(substring))
    query = query.Where( entity => entity.Tracking_Number.ToLower().Contains(substring.ToLower()));