Asp.net mvc .NET核心实体框架作为实体访问时抛出无效的对象名称,但可与SQL一起使用
我正在使用实体框架核心v6.2。我犯了个错误 SqlException:无效的对象名称“Cdef.CellDefinition” 当我尝试直接访问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没有该选项,而且我没有看到任何证据表明试图访问复数名称 我的实
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{}