我使用存储库模式设计。创建linq表达式作为参数
和我的项目中的实体框架。
下面是来自Remository类中的方法:
public virtual IEnumerable<T> Find(Expression<Func<T, bool>> predicate)
{
return Entities.Where(predicate);
}
在这行我从数据库中获取来自SensorsMeasure表中的所有行,其中SensorUnitId为5:
public void deleteItem(int sensorId, UnitOfWork unitOfWork)
{
sensorId=5;
var items = unitOfWork.SensorsMeasure.Find(sensorId);
}
但在该行:
public void deleteItem(int sensorId, UnitOfWork unitOfWork)
我收到此错误:
cannot convert from 'int' to 'System.Linq.Expressions.Expression<System.Func<SensorObservation.Data.SensorsMeasure, bool>>' SensorObservation.Model
我怎么能写find()方法是获取所有记录表,其中SensorUnitId是5
你在找什么是'lambda表达式'检查了解它:https://msdn.microsoft.com/en-us/library/bb397687.aspx –