Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.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
.net DbExpressionBuilder.SetClause正在提供未找到的方法异常_.net_Entity Framework_Entity Framework 6_Interceptor_Soft Delete - Fatal编程技术网

.net DbExpressionBuilder.SetClause正在提供未找到的方法异常

.net DbExpressionBuilder.SetClause正在提供未找到的方法异常,.net,entity-framework,entity-framework-6,interceptor,soft-delete,.net,Entity Framework,Entity Framework 6,Interceptor,Soft Delete,我正在尝试将删除命令更改为更新命令。然而,下面的一行 DbSetClause clause = DbExpressionBuilder.SetClause(property, now); 这给了我一个例外 {"Method not found: 'System.Data.Entity.Core.Common.CommandTrees.DbSetClause System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder.DbExpre

我正在尝试将删除命令更改为更新命令。然而,下面的一行

DbSetClause clause = DbExpressionBuilder.SetClause(property, now);
这给了我一个例外

{"Method not found: 'System.Data.Entity.Core.Common.CommandTrees.DbSetClause System.Data.Entity.Core.Common.CommandTrees.ExpressionBuilder.DbExpressionBuilder.SetClause(System.Data.Entity.Core.Common.CommandTrees.DbExpression, System.Data.Entity.Core.Common.CommandTrees.DbExpression)'."}
这应该是一个非常直截了当的代码。我不明白它为什么不起作用

var deleteCommand = interceptionContext.OriginalResult as DbDeleteCommandTree;
            if (deleteCommand != null)
            {
                var column = "DeleteTime";
                if (column != null)
                {
                    var setClauses = new List<DbModificationClause>();
                    var table = (EntityType)deleteCommand.Target.VariableType.EdmType;
                    if (table.Properties.Any(p => p.Name == column))
                    {
                        DbVariableReferenceExpression variable = DbExpressionBuilder.Variable(deleteCommand.Target.VariableType, deleteCommand.Target.VariableName);
                        DbPropertyExpression property = DbExpressionBuilder.Property(variable, column);
                        DbExpression now = DbExpression.FromDateTime(DateTime.Now);
                        DbSetClause clause = DbExpressionBuilder.SetClause(property, now);
                        setClauses.Add(clause);
                    }

                    var update = new DbUpdateCommandTree(
                        deleteCommand.MetadataWorkspace,
                        deleteCommand.DataSpace,
                        deleteCommand.Target,
                        deleteCommand.Predicate,
                        setClauses.AsReadOnly(),
                        null);

                    interceptionContext.Result = update;
                }
            }
var deleteCommand=interceptionContext.OriginalResult作为DbDeleteCommandTree;
if(deleteCommand!=null)
{
var column=“DeleteTime”;
if(列!=null)
{
var setClaires=新列表();
变量表=(EntityType)deleteCommand.Target.VariableType.EdmType;
if(table.Properties.Any(p=>p.Name==column))
{
DbVariableReferenceExpression变量=DbExpressionBuilder.variable(deleteCommand.Target.VariableType,deleteCommand.Target.VariableName);
DbPropertyExpression属性=DbExpressionBuilder.property(变量,列);
DbExpression now=DbExpression.FromDateTime(DateTime.now);
DbSetClause子句=DbExpressionBuilder.SetClause(属性,现在);
增加(第条);
}
var update=new DbUpdateCommandTree(
deleteCommand.MetadataWorkspace,
deleteCommand.DataSpace,
deleteCommand.Target,
deleteCommand.Predicate,
setClaires.AsReadOnly(),
无效);
Result=update;
}
}