c# ef框架的删除的lamda表达式怎么封装
答案:2 悬赏:30 手机版
解决时间 2021-03-23 23:58
- 提问者网友:一抹荒凉废墟
- 2021-03-23 06:08
c# ef框架的删除的lamda表达式怎么封装
最佳答案
- 五星知识达人网友:duile
- 2021-03-23 07:22
// 使用Lambda表达式树构建动态查询
public virtual void Delete(string field, string id) where TEntity : class
{
ParameterExpression pe = Expression.Parameter(typeof(TEntity), "m");
MemberExpression left = Expression.Property(pe, field);
// 具体类型根据实际情况,这里假设是int,So,强制转换int。
ConstantExpression right = Expression.Constant(Convert.ToInt32(id));
BinaryExpression binary = Expression.Equal(left, right);
var predicate = Expression.Lambda>(binary, new[]{pe});
TEntity entity = dbSet.Cast().Where(predicate).FirstOrDefault();
// ...TO DO SOMETHING...
}另外,已在你的另一个提问链接回答过了。请参阅。
public virtual void Delete
{
ParameterExpression pe = Expression.Parameter(typeof(TEntity), "m");
MemberExpression left = Expression.Property(pe, field);
// 具体类型根据实际情况,这里假设是int,So,强制转换int。
ConstantExpression right = Expression.Constant(Convert.ToInt32(id));
BinaryExpression binary = Expression.Equal(left, right);
var predicate = Expression.Lambda
TEntity entity = dbSet.Cast
// ...TO DO SOMETHING...
}另外,已在你的另一个提问链接回答过了。请参阅。
全部回答
- 1楼网友:想偏头吻你
- 2021-03-23 08:07
Delete(T id,FuncEx delFun)...
.Where(delFun)....
应该这样追问
.Where(delFun)....
应该这样追问
如图,它的参数好像是Func的,FuncEx是什么类型
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯