模型优先实体框架:使用Designer(.NET 4.0)为实体使用枚举或默认值

时间:2013-06-07 15:20:29

标签: asp.net sql visual-studio-2010 entity-framework entity-framework-5

我最近开始学习实体框架,不知道要搜索什么内容。

我有一个名为EstimatedEffort的实体,其属性Status可以是Active, Inactive, TBD。现在使用我以前使用C#的经验,我可能已经创建了一个具有三个值的状态的枚举,并在Status数据库表中保留了整数类型的EstimatedEffort字段。我如何使用Entity Framework Designer实现相同的目标?

我的第一种方法:我发现您无法在Entity Framework中使用枚举,因此我决定为Status创建一个单独的实体,这意味着我在数据库中为Status保留一个单独的表。但是我如何使用设计师为其添加Active, Inactive, TBD值?

我读到我们可以创建和使用我们的Insert, Update, Delete存储过程,我可能会创建一个插入存储过程来添加默认值。但在进一步研究这种方法之前,我想考虑问我是在走上正轨还是我错过了什么。感谢

枚举类型在属性类型中不可用

enter image description here

1 个答案:

答案 0 :(得分:0)

  1. 在您的实体中创建一个具有int值的属性(我称之为状态)
  2. 在模型设计师中设置setter和getter private
  3. 在模型命名空间中创建一个具有相同实体名称的部分类
  4. 在部分类中创建公共枚举属性(我称之为情境)
  5. 情境getter中的
  6. 返回您的私有财产(状态)
  7. 在情境设定者私有财产的设定值(状态)