实体框架字段枚举

时间:2011-09-11 23:21:58

标签: wpf silverlight entity-framework

我正在使用SQL Server 2008作为数据库服务器在VS 2010中开发Silverlight应用程序。在我的数据库中的某个表中,我有一个字段AccessLevel,它可以取0,1,2等值,每个值对应一个访问级别。例如: - 0 =用户,1 =主持人,2 =管理员,3 =超级管理员等.AccessLevel作为int存储在数据库中。在UI中,我希望在DataGrid控件中显示用户列表,该控件可以由DataForm控件进行编辑。访问级别的名称必须出现在DataGrid以及DataForm而不是级别编号上。我怎样才能做到这一点?正在使用实体数据模型和域数据服务。 提前谢谢。

2 个答案:

答案 0 :(得分:0)

您可以定义枚举:

public enum AccessLevels
{
    User = 0,
    Moderator,
    Administrator,
    SuperAdministrator
}

然后在您的实体上创建另一个属性,该属性映射到原始访问级别:

public partial class CertainEntity
{
    public AccessLevelEnum AccessLevelValue
    {
        get { return (AccessLevels)AccessLevel; }
        set { AccessLevel = (int)value; }
    }
}

然后,您可以在DataGrids / DataForms中使用此属性。 Here's an example

答案 1 :(得分:0)

您可以编写Valueconverter并在数据绑定中使用它