相关疑难解决方法(0)

如何让EF Core数据库首次使用枚举?

我正在使用EF Core和数据库优先方法,使用"Scaffold-DbContext"命令生成我的DbContext/Entities.

我怎样才能指导脚手架的DbContext某一个领域在一定的表格应该生成代码,使用枚举,而不是仅仅一个int?

以下是您在常规EF中的使用方法:https: //www.devu.com/cs-asp/lesson-69-mapping-enum-types-entity-properties-framework-designer/

此枚举已在代码中定义:

public enum StateEnum {
  Ok = 1,
  Fail = 2
}
Run Code Online (Sandbox Code Playgroud)

这就是Scaffold-DbContext给我的

public partial class Foo
{
    public int Id { get; set; }
    public int State { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

这就是我想要它创建的:

public partial class Foo
{
    public int Id { get; set; }
    public StateEnum State { get; set; }
}
Run Code Online (Sandbox Code Playgroud)

c# entity-framework-core

15
推荐指数
4
解决办法
2万
查看次数

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
查看次数