Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/sql/74.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net 模型第一实体框架:使用枚举或使用设计器的实体的默认值(.NET 4.0)_Asp.net_Sql_Visual Studio 2010_Entity Framework_Entity Framework 5 - Fatal编程技术网

Asp.net 模型第一实体框架:使用枚举或使用设计器的实体的默认值(.NET 4.0)

Asp.net 模型第一实体框架:使用枚举或使用设计器的实体的默认值(.NET 4.0),asp.net,sql,visual-studio-2010,entity-framework,entity-framework-5,Asp.net,Sql,Visual Studio 2010,Entity Framework,Entity Framework 5,我最近开始学习实体框架,不知道该搜索什么 我有一个名为EstimatedEffort的实体,其属性为Status,可以是活动、非活动、待定。现在,根据我以前使用C#的经验,我可能已经为status创建了一个包含三个值的枚举,并在EstimatedEffort数据库表中保留了整型status字段。如何使用实体框架设计器实现相同的功能 我的第一种方法是:我发现不能在实体框架中使用enum,所以我决定为Status创建一个单独的实体,这意味着我在数据库中为Status保留一个单独的表。但是我如何使用d

我最近开始学习实体框架,不知道该搜索什么

我有一个名为
EstimatedEffort
的实体,其属性为
Status
,可以是
活动、非活动、待定。现在,根据我以前使用C#的经验,我可能已经为status创建了一个包含三个值的枚举,并在
EstimatedEffort
数据库表中保留了整型
status
字段。如何使用实体框架设计器实现相同的功能

我的第一种方法是:我发现不能在实体框架中使用enum,所以我决定为
Status
创建一个单独的实体,这意味着我在数据库中为
Status
保留一个单独的表。但是我如何使用designer向其添加
活动、非活动、待定的值呢

我读到我们可以创建并使用
插入、更新、删除
存储过程,我可能会创建一个插入存储过程来添加默认值。但在进一步研究这种方法之前,我想考虑一下我是不是走对了路,还是我错过了什么。谢谢

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

  • 在实体中创建一个具有int值的属性(我称之为status)
  • 在模型设计器中,将其setter和getter设置为private
  • 在模型命名空间中创建与实体名称同名的分部类
  • 在分部类中创建公共枚举属性(我称之为场景)
  • 在这种情况下,getter返回您的私有财产(状态)
  • 情况设定者设置私有财产的值(状态)

  • 您可以在实体框架中使用基于字节或整数的枚举;在“代码优先”中,它会将它们映射到数值字段(然后再映射回来),在“数据库优先”中,您可以从“模型浏览器”中该属性的“属性”窗格中将枚举指定为该属性的类型。@anaximander我尝试在属性中查找枚举类型,但没有。我正在使用VisualStudio2010,我在某处读到枚举类型是在.NET4.5中添加的(VS2010不支持该类型)。我目前正在使用.NET4.0。有什么解决办法吗?可能有;不过我自己也不知道。您是否在模型设计器中创建了枚举?我没有创建枚举(因为我找不到这样做的方法)。我在designer中创建实体