【问题标题】:Is there a way to take First() from a hierarchy table in Entity Framework Core?有没有办法从 Entity Framework Core 的层次结构表中获取 First() ?
【发布时间】:2020-07-03 16:50:15
【问题描述】:

有没有办法访问一个层次结构的表?

Entity Framework Core 从 First() 方法返回 null,表不为空。我使用 SQL Server 来存储表。

public class TestProjectEFDbContext : DbContext
{
    private const string connectionString = @"data source=DESKTOP-I2JBLKP; Initial Catalog=TestProjectEF;  Trusted_Connection=True; ";

    public TestProjectEFDbContext() { }
    public TestProjectEFDbContext(DbContextOptions options) : base(options) { }

    public DbSet<University> Universities { get; set; }
    public DbSet<MedicineUniversity> MedicineUniversities { get; set; }
    public DbSet<ArtUniversity> ArtUniversities { get; set; }
    public DbSet<TechUniveristy> TechUniveristies { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseSqlServer(connectionString);
    }
} 

var FirstUniversity = testProjectEFDbContext.Universities.First(); // throws an error

【问题讨论】:

  • 有什么异常?
  • 序列为空

标签: sql-server asp.net-core .net-core entity-framework-core


【解决方案1】:

InvalidOperationException: Sequence contains no elements 出现时映射表中没有任何记录。

当你使用FirstOrDefault()扩展方法时它消失了。

因此,请仔细检查您在连接字符串中使用的数据库和表,并检查是否有记录。

另外,注意表属性:[Table(string name, Properties:[Schema = string])

【讨论】:

  • 您的模型存在严重问题,我已修复该问题并上传了内容。给我几分钟。
  • 请允许我访问您的存储库;我的 github ID 是:xaamt
  • 不幸的是;我仍然有权限问题,所以我分叉了您的存储库并为自己更改了它。你可以从github.com/xaamt/Stack获得它
猜你喜欢
  • 2022-01-04
  • 2021-11-28
  • 1970-01-01
  • 2016-02-09
  • 1970-01-01
  • 1970-01-01
  • 2023-03-03
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多