Asp.net mvc .NET核心实体框架作为实体访问时抛出无效的对象名称,但可与SQL一起使用

Asp.net mvc .NET核心实体框架作为实体访问时抛出无效的对象名称,但可与SQL一起使用,asp.net-mvc,entity-framework,entity-framework-core,Asp.net Mvc,Entity Framework,Entity Framework Core,我正在使用实体框架核心v6.2。我犯了个错误 SqlException:无效的对象名称“Cdef.CellDefinition” 当我尝试直接访问DbSet但使用相同的DbContext对象时,我可以使用FromSql命令直接查询该对象 我看到其他答案说要修改约定以删除PluralizingTableNameConvention,但是因为我正在执行EntityFrameworkCore.DbContext,所以ModelBuilder没有该选项,而且我没有看到任何证据表明试图访问复数名称 我的实

我正在使用实体框架核心v6.2。我犯了个错误

SqlException:无效的对象名称“Cdef.CellDefinition”

当我尝试直接访问
DbSet
但使用相同的
DbContext
对象时,我可以使用
FromSql
命令直接查询该对象

我看到其他答案说要修改约定以删除
PluralizingTableNameConvention
,但是因为我正在执行
EntityFrameworkCore.DbContext
,所以
ModelBuilder
没有该选项,而且我没有看到任何证据表明试图访问复数名称

我的实体设置如下:

[Table("Cdef.CellDefinition")]
public partial class CellDefinition
{
    [Key]
    public int Id { get; set; }
}
我的
DbContext
如下所示:

public class CDefContext : Microsoft.EntityFrameworkCore.DbContext
{
    public virtual Microsoft.EntityFrameworkCore.DbSet<CellDefinition> CellDefinition { get; set; }

    protected override void OnModelCreating(ModelBuilder modelBuilder)
    {
        base.OnModelCreating(modelBuilder);
    }
}

我找到了解决办法。不能将架构放在表名中

//This Does NOT work
[Table("Cdef.CellDefinition")]
public partial class CellDefinition{}


//But this DOES work
[Table("CellDefinition",Schema = "Cdef")]
public partial class CellDefinition{}

请注意:EF Core目前的版本是2.1(目前正在开发中的版本是2.2)-版本6.2属于EF的“遗留”(非.NET Core)版本…非常感谢!这对我帮助很大!
//This Does NOT work
[Table("Cdef.CellDefinition")]
public partial class CellDefinition{}


//But this DOES work
[Table("CellDefinition",Schema = "Cdef")]
public partial class CellDefinition{}