最好使用枚举来存储表名称和列名称 -

时间:2015-12-24 08:29:44

标签: c# asp.net-mvc-4 c#-4.0

在我的项目中,我需要3个表和列的名称,如下所示:

Tables :User , News , Roles
Columns : Date,Title,Id

并将此列名称和表名存储在另一个表中。 最好使用Enum来存储这个值,如下所示:

public enum TableName
{
    News,
    Role,
    User
}
public enum ColumnName
{
    Date,
    Id,
    Title
}

或创建一个两个表来存储它?

哪一个更好?

我需要在下拉列表中显示表和列名称并将其保存在数据库中。 我使用Code First。我不使用Reflection来显示列,因为我没有向用户显示所有列。

我需要保存OrderSetting,例如News表的设置顺序如下:

Table :'News' , Columns :'Date', Type:`Desc`

每个表总是应该有一行。

1 个答案:

答案 0 :(得分:1)

按照

的方式进行
  public class MyTable
    {
        public string TableName { get; set; }
        public List<string> Columns { get; set; }

        public MyTable()
        {
            Columns = new List<string>();
        }

        public void PopulateFromType(Type t)
        {
            TableName = t.Name;

            foreach (var prop in t.GetProperties())
            {
                Columns.Add(prop.Name);
            }
        }
    }

    public class Foo
    {
        public int A { get; set; }
        public string B { get; set; }
    }

    public class Processor
    {
        public void AddFoo()
        {
            var myTable = new MyTable();
            myTable.PopulateFromType(typeof(Foo));
        }
    }