gpt4 book ai didi

entity-framework-core - Entity Framework - Azure 表存储提供程序 - 枚举支持

转载 作者:行者123 更新时间:2023-12-04 00:17:45 28 4
gpt4 key购买 nike

我实际上正在为 EF ( EntityFramework.AzureTableStorage 7.0.0-beta1 ) 使用 Azure 存储表提供程序。
我已经结束了如何配置 DbContext:

public class Subscription
{
public string Environment { get; set; }

public string Name { get; set; }

...
...
}

public class EF7Context : DbContext
{
public DbSet<Subscription> Subscriptions { get; set; }

protected override void OnConfiguring(DbContextOptions options)
{
options.UseAzureTableStorage("MyconnectionString");
}

protected override void OnModelCreating(Microsoft.Data.Entity.Metadata.ModelBuilder modelBuilder)
{
// Configure the Azure Table Storage
modelBuilder.Entity<Subscription>()
.ForAzureTableStorage() // Data are stored in an Azure Table Storage.
.Table("SubscriptionDev") // Name of the Table in the Azure Storage Account
.PartitionAndRowKey(s => s.Environment, s => s.Name); // Map the partition and the row key
}
}
但现在我想添加一个枚举作为 Subscription 的一部分模型。
我找到了一个解决方法来做到这一点:
我有一个枚举:
public enum QueuePriority
{
High,
Low
}
我已将这些属性添加到 Subscription类(class):
public int PriorityId { get; set; }

public QueuePriority Priority
{
get { return (QueuePriority)PriorityId; }
set { PriorityId = (int)value; }
}
并声明 Priority属性作为 EF 配置中的阴影,因此我不会将 PriorityId 和 Priority 都存储在 Azure 表中:
protected override void OnModelCreating(Microsoft.Data.Entity.Metadata.ModelBuilder modelBuilder)
{
...

// We are not mapping the Enum in the database only the IDs.
modelBuilder.Entity<Subscription>().Property(s => s.Priority).Shadow();
}
所以我想知道是否有更好的方法来完成这个和/或如果 EF.AzureTableStorage 的下一个版本将支持 Enum ?
谢谢

最佳答案

EF Azure Table Storage beta1 是一个原型(prototype),目前已停产。另见 https://stackoverflow.com/a/35071077/2526265

关于entity-framework-core - Entity Framework - Azure 表存储提供程序 - 枚举支持,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35142541/

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