'Der angeforderte Partitionschlüsselpfad' /CompanyID 'stimmt nicht mit
vorhandener Container -Versand mit dem Partitionschlüsselpfad überein ' /companyID'
(Parameter 'PartitionKey') '< /p>
< /Blockquote>
Beim Starten des Codes und der Sicherstellung, dass der Container vorliegt. Wenn ich den Namen des CompanyID -Eigenschafts auf CompanyID festgelegt habe, funktioniert alles, außer dass alle anderen pascalcasiertes C# -Heeigenschaften nicht auf Kamelcase umgeschaltet sind, wenn ich in das Cosmodb eingefügt wird. < /P>
Zusätzlich verwende ich die Nuget -Paket efcore.namingConventions Um das Umschalten auf Kamelcase zu erleichtern. Was muss ich tun oder ändern, damit meine pascalcasiertes Eigenschaften mit meinem Camelcase -Parionkey übereinstimmen und alles in Kamelcase gespeichert werden kann? < /P>
Code: Select all
using Microsoft.EntityFrameworkCore;
public class CosmoDbContext : DbContext
{
public CosmoDbContext(DbContextOptions options) : base(options)
{
}
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder = optionsBuilder.UseCamelCaseNamingConvention();
DbContextOptionsBuilder options = optionsBuilder.UseCosmos(
accountEndpoint: "https://....azure.com:443/",
accountKey: "...",
databaseName: "...");
}
protected override void OnModelCreating(ModelBuilder modelBuilder)
{
modelBuilder.Entity().ToContainer("shipment")
.HasPartitionKey(s => s.CompanyId);
}
public DbSet Shipments { get; set; }
}
public class Shipment
{
public required string Id { get; set; }
public required CompanyId CompanyId { get; set; }
}