相关疑难解决方法(0)

EF Core 2.0枚举存储为字符串

我能够将枚举作为字符串存储在数据库中.

builder.Entity<Company>(eb =>
{
    eb.Property(b => b.Stage).HasColumnType("varchar(20)");
});
Run Code Online (Sandbox Code Playgroud)

但是,当需要查询时,EF不知道将字符串解析为枚举.我该如何查询:

context
    .Company
        .Where(x => x.Stage == stage)
Run Code Online (Sandbox Code Playgroud)

这是一个例外:将varchar值'Opportunity'转换为数据类型int时转换失败

entity-framework ef-core-2.0

10
推荐指数
2
解决办法
6208
查看次数

如何在EF Core Code First中创建与枚举对应的表?

如何将EF Core数据库上下文中使用的枚举转换为查找表并添加相关外键?


c# enums entity-framework-core

7
推荐指数
2
解决办法
1861
查看次数

EF7支持枚举吗?

我有EF7 RC1的问题.我无法在模型中使用枚举.我可以保存枚举属性.该值将转换为int.我的问题是在数据读取期间我得到了无效的强制转换异常.

  1. EF7是否支持枚举属性?
  2. 如何使用流畅的api配置它?

谢谢

编辑:

枚举:

  public enum LimitMode 
    {
        Max,
        Min,
        MaxAndMin,
    }
Run Code Online (Sandbox Code Playgroud)

模型:

  public class SomeModel 
    {
    (..)
    public LimitMode LimitMode {get; set;}
    }
Run Code Online (Sandbox Code Playgroud)

SomeModel的ModelBuilder:

        modelBuilder.Entity<SomeModel>(entity => {
            (...)
            entity.Property(p => p.LimitMode);
        })
Run Code Online (Sandbox Code Playgroud)

entity-framework entity-framework-core

6
推荐指数
2
解决办法
7912
查看次数

如何在 Entity Framework Core 2.1 中播种枚举

我是 EF Core 的新手,正在尝试播种枚举。

Data Seeding称,此功能是 EF Core 2.1 的新增功能。

我查看了几个解决方案,包括Blake Mumford 的 SO 解决方案,但这对我不起作用,因为枚举不是引用类型。

我的目标(在迁移的帮助下)是将 Category 枚举填充到名为 Category 的新 SQL 表中,并让我的 Payment 表包含引用 Category 表作为外键的列。

任何帮助将不胜感激。谢谢。

public partial class Payment
{
    public int PaymentId { get; set; }
    public DateTime PostedDate { get; set; }
    public string Vendor { get; set; }
    public decimal Amount { get; set; }

    public virtual Category Category { get; set; }
}

public enum Category
{
    Restaurants,
    Groceries,
    [Display(Name …
Run Code Online (Sandbox Code Playgroud)

asp.net entity-framework entity-framework-core .net-core asp.net-core

5
推荐指数
1
解决办法
5278
查看次数