Entity Framework 核心与现有 CosmosDB 404 错误

Entity Framework Core with Existing CosmosDB 404 error

public class dbcontext:DbContext
{
    public DbSet<entity1> entities1 { get; set; }

    protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        optionsBuilder.UseCosmos(
          "https://localhost:8081",
          "C2y6yDjf5/R+ob0N8A7Cgv30VRDJIWEHLM+4QDU5DE2nQ9nDuVTqobD4b8mGGyPMbIZnqyMsEcaGQy67XIw/Jw==",
          "myDocuments");
    }

    public class entity1
    {
        [Key]
        public string id { get; set; }

        public string name { get; set; }
    }

  }

尝试创建文档时出现以下错误.. 使用 Microsoft.EntityFrameworkCore.Cosmos Preview3 和 cosmos 模拟器

我认为这是 Cosmos DB 提供程序的预览性质的原因。我有同样的问题。我使用存储模拟器预先创建了我的集合,这需要您定义分区键。请注意,预览版 Cosmos 提供程序没有 "partition key" 的概念。这对 Cosmos DB 来说是个大问题。然而,模拟器似乎相当有弹性。

如果您按照 Nick Chapsas 的建议进行并调用 context.Database.EnsureCreated,您应该会看到在模拟器中创建了一个新集合。如果您查看新集合的 Scale & Settings,您会发现没有分区键。创建新集合时,分区键是必填字段。预览提供程序似乎正在创建无效的集合。模拟器似乎可以,但 Azure Cosmos DB 不行。