gpt4 book ai didi

c# - 在 Entity Framework 核心中没有将实体映射到表的方法

转载 作者:行者123 更新时间:2023-12-04 12:44:50 25 4
gpt4 key购买 nike

我在一个普通的 .net 项目中使用 Entity Framework 核心,版本 4.7。我知道我可以做到这一点。问题是我似乎无法将实体映射到表,因为“ToTable”方法不存在。我无法编辑 poco 或实体类,因为它们是预定义和生成的。所以我不能使用该属性。我在互联网上查看,每个人似乎都使用这种方法将实体映射到表。

这是我的代码:

public class FactsDbContext : DbContext
{
public DbSet<TblIncident> TblIncidents { get; set; }

public DbSet<TblAction> TblActions { get; set; }

public DbSet<TblAddressTypeAlias> TblAddressTypeAliases { get; set; }

public DbSet<TblCountry> TblCountries { get; set; }

protected override void OnModelCreating(ModelBuilder modelBuilder)
{
//these methods don't exist in my case
modelBuilder.Entity<TblIncident>(entity => entity.ToTable("Incident"));
modelBuilder.Entity<TblIncident>().ToTable("Incident");
}
}

我还尝试将 IEntityTypeConfiguration 与 EntityTypeBuilder 一起使用,但它仍然无法访问映射到表方法:
public class IncidentConfig : IEntityTypeConfiguration<TblIncident>
{
public void Configure(EntityTypeBuilder<TblIncident> builder)
{
builder.ToTable("Incident");
}
}

最佳答案

我查看了 GitHub 上的 Entity Framework Core 存储库,并在存储库中搜索了“Totable”方法。事实证明它被定义为一个扩展方法,但它位于单独的 nuget 包和名为 Microsoft.EntityFrameworkCore.SqlServer 的库中

下载包后,我得到了我需要的 Totable 方法。当您已经拥有可以直接在 Entity Framework 核心包中添加实体的“表”属性时,将该方法添加到 sql server 的单独包中仍然没有意义。

关于c# - 在 Entity Framework 核心中没有将实体映射到表的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52549585/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com