将目标从netcoreapp3.0更改为netstandard2.1时,缺少TableAttribute

时间:2019-11-19 22:32:37

标签: c# .net-core entity-framework-core .net-standard

我认为我应该将我的类库移至使用.net standard 2.1。

.net标准2.1中是否存在表属性?

using PWDRS.Core.Entities.Base;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.ComponentModel.DataAnnotations.Schema;

namespace PWDRS.Core.Entities
{
    [Table("ReportType", Schema = "RF")]
    public class RfReportType : EntityBase
    {
        public RfReportType()
        {
        }
  

类型或名称空间名称'DataAnnotations'在   命名空间“ System.ComponentModel”(您是否缺少程序集   参考?)

     

找不到类型或名称空间名称'TableAttribute'(是   您缺少using指令或程序集引用吗?)

     

找不到类型或名称空间名称“表”(您是否丢失了   using指令还是程序集引用?)

     

找不到类型或名称空间名称“ Schema”(您是   缺少using指令或程序集引用?)

1 个答案:

答案 0 :(得分:1)

TableAttribute属于 System.ComponentModel.Annotations 程序集,该程序集是.NET Standard的is not part。而且似乎没有计划包含它,请参阅 this github issue

您需要将其作为软件包安装

Install-Package System.ComponentModel.Annotations -Version 4.6.0

或使用 Microsoft.EntityFrameworkCore 程序包,其中包含 System.ComponentModel.Annotations (如果需要更多内容

Install-Package Microsoft.EntityFrameworkCore -Version 3.0.1