如何将枚举值保存到数据库?
例如:
namespace PizzaSoftware.Data
{
public class User
{
public string Username { get; set; }
public string Password { get; set; }
public Permission PermissionType { get; set; }
}
public enum Permission
{
Basic,
Administrator
}
}
如果我要使用Entity-Framework的CodeFirst,我该如何保存这个值?
这是针对 Windows 窗体桌面应用程序的。
谢谢你!
For example:
namespace PizzaSoftware.Data
{
public class User
{
public string Username { get; set; }
public string Password { get; set; }
public Permission PermissionType { get; set; }
}
public enum Permission
{
Basic,
Administrator
}
}
If if I were to use Entity-Framework's CodeFirst, how can I save this value?
This is for a Windows Forms, Desktop application.
Thank you!
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以检索 int 值(或您将枚举设置为的任何类型)一个简单的转换并将其保存到数据库中。
要读回它,您可以从 int 转换回 enum:
You can retrieve the int value (or whatever type you have your enum set to) via a simple cast and save that to the DB.
And to read it back out, you'd cast from int back to enum:
您需要了解枚举只是一组命名常量。这里引用msdn的一段话:
因此,要将值存储在数据库中,您只需存储基础类型并根据需要进行强制转换/解析。
You need to understand that an enum is just a set of named constants. Here is a quote from msdn:
So to store the value in the database you just store the underlying type and cast/parse as needed.