在 Linq-SQL 查询中添加不确定数量的 AND?
Add undetermined number of AND on Linq-SQL Query?
假设我有以下功能...
private List<QueryObject> ReturnSQLData (DateTime d1, DateTime d2, string[] arrayOfNames)
{
var results = (from a in _context.Names
where (a.CreatedOn >= d1 && a.CreatedOn <d2)
select new QueryObject
{
FirstName = a.Name
LastName = a.LastName
}).ToList();
return results;
}
我怎样才能继续创建一个 Linq 查询,其中我有一些东西?
private List<QueryObject> ReturnSQLData (DateTime d1, DateTime d2, string[] arrayOfNames)
{
var results = (from a in _context.Names
where (a.CreatedOn >= d1 && a.CreatedOn <d2)
&& (arrayOfNames[0].Equals("abc") || arrayOfNames[1].Equals("cde")
select new QueryObject
{
FirstName = a.Name
LastName = a.LastName
}).ToList();
return results;
}
请注意,在实际执行代码之前,我并不知道字符串[] 的大小。我如何才能在我的 linq 查询中添加这条语句?
> && (arrayOfNames[0].Equals("abc") || arrayOfNames[1].Equals("cde") ||
> ... || arrayOfNames[n].Equals("cde"))
可以吗?
顺便说一句。我是 运行 这个 ASP.NET 5 MVC6 EF7 解决方案,以防它有帮助:)
谢谢!
你能做到吗:
&& arrayOfNames.Contains("cde")
假设我有以下功能...
private List<QueryObject> ReturnSQLData (DateTime d1, DateTime d2, string[] arrayOfNames)
{
var results = (from a in _context.Names
where (a.CreatedOn >= d1 && a.CreatedOn <d2)
select new QueryObject
{
FirstName = a.Name
LastName = a.LastName
}).ToList();
return results;
}
我怎样才能继续创建一个 Linq 查询,其中我有一些东西?
private List<QueryObject> ReturnSQLData (DateTime d1, DateTime d2, string[] arrayOfNames)
{
var results = (from a in _context.Names
where (a.CreatedOn >= d1 && a.CreatedOn <d2)
&& (arrayOfNames[0].Equals("abc") || arrayOfNames[1].Equals("cde")
select new QueryObject
{
FirstName = a.Name
LastName = a.LastName
}).ToList();
return results;
}
请注意,在实际执行代码之前,我并不知道字符串[] 的大小。我如何才能在我的 linq 查询中添加这条语句?
> && (arrayOfNames[0].Equals("abc") || arrayOfNames[1].Equals("cde") ||
> ... || arrayOfNames[n].Equals("cde"))
可以吗?
顺便说一句。我是 运行 这个 ASP.NET 5 MVC6 EF7 解决方案,以防它有帮助:)
谢谢!
你能做到吗:
&& arrayOfNames.Contains("cde")