小编Moh*_*asi的帖子

如何在 exceptionFilter Asp.NetCore 中获取模型对象?

我正在使用 ASP .NET Core 2.0 中的 WEB 应用程序,其中我有一个从 ExceptionFilterAttribute 继承的自定义 ExceptionAttribute 过滤器。

如何访问传递给 POST 调用中的操作的模型对象。

提到的方法传递了一个 ExceptionContext,但我找不到一种简单可靠的方法来从中获取 Model 对象并传递给 ViewResult。

我拥有的过滤器如下所示:

public class ApiCallExceptionAttribute: ExceptionFilterAttribute
{
    private readonly IModelMetadataProvider _modelMetadataProvider;

    public ApiCallExceptionAttribute(
        IModelMetadataProvider modelMetadataProvider)
    {
        _modelMetadataProvider = modelMetadataProvider;
    }

    public override void OnException(ExceptionContext context)
    {
        //how can i accesss model object here and pass to ViewResult
        result.ViewData = new ViewDataDictionary(_modelMetadataProvider,context.ModelState);

        context.Result = result;
    }
}
Run Code Online (Sandbox Code Playgroud)

控制器如下所示:

[HttpPost]
[ServiceFilter(typeof(ApiCallExceptionAttribute))]
public async Task<IActionResult> Activation(ActivationViewModel model)
{
            //throw exception in controller content
}
Run Code Online (Sandbox Code Playgroud)

c# exception-handling asp.net-core

6
推荐指数
1
解决办法
383
查看次数

在Entity Framework中的运算符中实现

我尝试在Entity Framework中实现此SQL查询

select * 
from students 
where student.fieldid in (select fieldid from fields where groupid = 10)
Run Code Online (Sandbox Code Playgroud)

我想这是一种方法:

var fields = context.fields.where(t=>t.groupid = 10).toList();

var result = context.students.where(t=> fields.Contains(t.fieldid)).toList();
Run Code Online (Sandbox Code Playgroud)

但这不起作用!

有没有其他人试图做这样的事情?

linq extension-methods entity-framework

5
推荐指数
1
解决办法
3139
查看次数