当前位置: 首页 > 编程语言 > C#

EF5不会创建枚举列分享

时间:2023-04-10 23:50:39 C#

C#学习设计:EF5不会创建新类。个人信用报告FA,//同期被追踪并扣款的个人信用报告FF,//上期被追踪的个人信用报告K,//被追踪但未被扣款的信用卡KA,//追同期并扣款信用卡KF//前期上报的信用卡扣款}publicclassDatum{[Key]publiclongId{get;设置}publicDataKindKind{get;设置}[StringLength(25,MinimumLength=2)]publicstringName{get;set}}}当EF创建数据库时,会创建除Kind之外的所有列。未创建另一列,它是此处未显示的复杂类型的一部分。为什么EF5会这样?不知道的环境?你好像用的是EF5,目标是.NETFramework4。因为EntityFrameork.dll使用了.NETFramework4中的System.Data.Entity.dll,所以无法处理,所以不能使用。您需要移动到EF5和.NETFramework4.5或EF6,您可以在其中以.NETFramework4为目标并使用枚举,因为EF6不再依赖于.NETFramework中提供的组件。应该工作正常,请参阅MSEF站点http://msdn.microsoft.com/en-us/data/hh859576我使用它并且它有效......并且Enum没有在数据库上创建为TABLE。该视频向您展示了如何在需要时在数据库上创建ENUM。namespaceXYZ.Core.Enum{publicenumMasterEventType:int{Undefined=0,Logon=1,Logoff=2,}}namespaceXYZ.Core.Model{publicclassMasterUserEventLog{//其余的在这里不相关....publicMasterEventTypeEventType{get;放;}//发生了什么}{EF不会创建任何表,这是设计使然。EF在内部处理枚举。你不必担心他们。我用过Enum,它工作正常。如果您想将Enum显式存储在数据库中,那么我建议您在自己的代码中创建滚动条。但是,您应该注意,创建实体也有与枚举相关的常见仪式。您可以访问链接http://msdn.microsoft.com/en-us/data/hh859576.aspx,其中明确写明Ef不会为Enum创建任何表。在EF6中,如果使枚举类型派生自uint而不是默认的int,也会发现这种情况。例如publicenumLogStatus:uint上面的代码不会在代码第一次迁移的时候自动生成列,所以你要去掉uint部分:publicenumLogStatus默认为intbase,代码首先自动创建这个列。以上就是C#学习教程:EF5不会创建枚举列分享所有内容。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文收集自网络,不代表立场。如涉及侵权,请点击右侧联系管理员删除。如需转载请注明出处: