.Net Core 中的类型或命名空间名称 'Bind' 和 'Include'

The type or namespace name 'Bind' and 'Include' in .Net Core

我正在将 .Net 应用程序迁移到 .Net Core。在 .Net 应用程序中,我们在模型 class 的顶部使用 bindinclude 关键字作为登录信息,如下所示:

[Bind(Include = "UserName,Password")]

但转换后,显示此错误:

The type or namespace name 'Bind' and 'Include' could not be found.

您能否建议在 .Net 核心 MVC 中可以添加哪些关键字来代替这些关键字。

Bind 属性存在于 Microsoft.AspNetCore.Mvc 命名空间中,这意味着您需要像这样导入它:

using Microsoft.AspNetCore.Mvc;

如果这不起作用,可能是因为这个 class 存在于 ASP.NET 核心 Web 项目之外的 class 库中,那么您需要添加一个框架引用到Microsoft.AspNetCore.App。为此,请编辑您的 csproj 文件并添加:

<ItemGroup>
  <FrameworkReference Include="Microsoft.AspNetCore.App" />
</ItemGroup>

有关详细信息,请参阅 here

最后,您不需要命名 Include 参数,所以它应该看起来像这样:

[Bind("UserName,Password")]
public class LoginInfo
{
    //snip...