【发布时间】:2015-09-14 13:44:45
【问题描述】:
我的方法签名如下。只有 Id 是强制性的,所有其他三个参数都是可选的。我需要在 where 子句中处理这个问题。如果存在可选参数,那么我需要将它们添加到 where 子句中,否则查询应该基于 Id 以及可选参数中可用的任何内容
其次,我们可以使用 rowVersion 进行比较,如下面的查询中指定的那样。 (Sql Server中的rowVersion是时间戳)
GetRecords(int Id, int[] LocationId = null, int PayrollNo = 0, byte[] rowVersion=null)
{
var result = this.context.employees.where(x=>x.Id == id && LocationId.Contains(x.locationId) && x.payrollNo ==PayrollNo && x.rowVersion > rowVersion);
}
任何帮助将不胜感激。
【问题讨论】:
标签: c#-4.0 entity-framework-6 optional-parameters