0

我创建了上下文

public class BaseContext : DbContext
{
    public DbSet<Item> Items { get; set; }

    protected override void OnConfiguring(DbContextOptions options)
    {
        options.UseAzureTableStorage("UseDevelopmentStorage=true;");
    }

    protected override void OnModelCreating(Microsoft.Data.Entity.Metadata.ModelBuilder modelBuilder)
    {
        modelBuilder.Entity<Item>()
            .ForAzureTableStorage()
            .PartitionAndRowKey(b => b.Partition, b => b.Id);
    }
}

而 Items 类是

public class Item
{
    public string Partition
    {
        get { return "Items"; }
        private set { }
    }

    public Guid Id { get; set; }

    public string Name { get; set; }
}

当我尝试使用实体框架删除项目时

要删除的代码:

public void DeleteItem(Guid itemId)
{
    using (var db = new BaseContext())
    {
        var dbItem = db.Items.SingleOrDefault(b => b.Id == itemId);

        if (dbItem != null)
        {
            db.Items.Remove(dbItem);
            db.SaveChanges();
        }
    }
}

我有一个错误“在服务器上找不到表或行”。我可以在存储资源管理器中看到该项目已创建并在 db.SaveChanges() 上删除,但保存更改总是抛出异常。

我该如何解决?

4

0 回答 0