【发布时间】:2021-12-30 03:29:27
【问题描述】:
刚开始使用 Azure Functions 和 EF。
我有以下代码:
MyDbContext.cs
public class MyDbContext : DbContext
{
public MyDbContext(DbContextOptions<MyDbContext> options) : base(options)
{
}
public DbSet<Badge> Badge { get; set; }
public DbSet<User> User { get; set; }
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
base.OnModelCreating(modelBuilder);
modelBuilder.ApplyConfiguration(new BadgeDataConfiguration());
modelBuilder.ApplyConfiguration(new UserDataConfiguration());
}
}
BadgeDataConfiguration.cs
public class BadgeDataConfiguration : IEntityTypeConfiguration<Badge>
{
public void Configure(EntityTypeBuilder<Badge> builder)
{
builder.Property(x => x.id)
.ValueGeneratedOnAdd();
builder.Property(x => x.userid)
.HasColumnName("userid")
.IsRequired();
builder.Property(x => x.description)
.HasColumnName("description")
.IsRequired();
builder.Property(x => x.category)
.HasColumnName("category")
.IsRequired();
builder.Property(x => x.picture)
.HasColumnName("picture")
.IsRequired();
}
}
UserDataConfiguration.cs
public class UserDataConfiguration : IEntityTypeConfiguration<User>
{
public void Configure(EntityTypeBuilder<User> builder)
{
builder.Property(x => x.id)
.ValueGeneratedOnAdd();
builder.Property(x => x.username)
.HasColumnName("userid")
.IsRequired();
builder.Property(x => x.firstname)
.HasColumnName("description")
.IsRequired();
builder.Property(x => x.lastname)
.HasColumnName("category")
.IsRequired();
builder.Property(x => x.password_hash)
.HasColumnName("picture")
.IsRequired();
builder.Property(x => x.email)
.HasColumnName("category")
.IsRequired();
builder.Property(x => x.picture)
.HasColumnName("category")
.IsRequired();
builder.Property(x => x.date_created)
.HasColumnName("category")
.IsRequired();
}
}
我最初创建了 Badge 实体,并让一切都在 Azure 函数中运行。
例如:
dbContext.Badge.ToList();
但是,一旦我为用户实体添加了所有代码,在执行 dbContext.User.ToList(); 时总是会出现以下异常
System.Private.CoreLib:执行函数时出现异常:GetUser。核心 Microsoft SqlClient 数据提供程序:无效的对象名称“用户”
Badge 实体仍然正常运行。
我在这里错过了什么?
版本:
- .NET 6.0
- Azure 函数 v4
- 实体框架核心 v6.0.0
【问题讨论】:
-
您是否创建了
User表?这是一个 SQL Server 错误,抱怨没有具有该名称的表 -
我用名称“users”而不是“user”创建了表。更改为表“用户”使其正常工作。感谢您的提示!
标签: azure entity-framework-core azure-functions dbcontext