2

我刚刚更改了我的代码,现在它将一些数据存储在枚举而不是 SQL Server 表中。

这是枚举:

public enum ContentTypes : int
{
    Article = 0,
    Menu = 1,
    ContentBlock = 3
}

我正在运行以下代码:

        var contentTypes =
          (
              from contentType in this._contentTypeService.GetContentTypes()
              select new
              {
                  id = contentType.ContentTypeId,
                  name = contentType.Name
              }
          );

我怎样才能改变它,而不是从内容服务中获取数据,它只是将枚举查询到 contentTypes 的数据?

4

2 回答 2

4

我想你想要的是这个

var contentTypes =
    from value in Enum.GetValues(typeof(ContentTypes)).Cast<int>()
    select new
    {
        id = value,
        name = Enum.GetName(typeof(ContentTypes), value)
    };
于 2013-06-12T16:37:50.310 回答
3

pswg 可能是对的,但我想你想要这样的东西

这是更直接地解决您的问题的代码:

select new
{
    id = (int)contentType,
    name = contentType.ToString()
}

您可以简单地通过转换为 an 来获取整数 idint并通过使用它来获取它的名称ToString(这里可能隐含也可能不隐含)

于 2013-06-12T16:41:52.857 回答