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中创建实体