临时表就像c#中的东西

时间:2013-07-11 14:45:05

标签: c# asp.net-mvc-3

我有一个场景,我需要使用不太可能改变但有助于实现业务逻辑的表格数据:

Table

 Parent      Child         Relationship      Allowed
  A            B                 C            True
  B            A                 C            False

每行代表一个业务规则。基于此表,我需要使用“Relationship”列的内容填充下拉控件。我可以在C#中使用某种数据结构来存储这些表格数据,还是需要使用数据库表?

3 个答案:

答案 0 :(得分:3)

除非您需要跨会话保留此数据,否则无需将其存储在数据库表中。从面向对象设计的角度来看,为什么不创建一个表示所需结构的对象,从而创建类。像这样:

public class Relationship
{
    public string Name { get; set; }
    public string Parent { get; set; }
    public string Child { get; set; }
    public bool Allowed { get; set; }
}

当然注意我正在使用字符串,您可能希望使用自己的“类型”的其他对象。此外,请记住访问权限,以及应该和不应该允许访问这些属性的内容......此示例在此时有意简单!

答案 1 :(得分:1)

我同意如果这是您需要存储的所有数据,那么完整的数据库可能可能,因此您可以理论上对C#中的数据和结构进行硬编码如果你真的想,但几乎在所有情况下都不是一个好主意 - 即使它不太可能改变。

至少将数据存储在一个小的XML /配置文件中,以便它确实发生更改,您不需要重新编译应用程序。

答案 2 :(得分:0)

使用DataTable:http://msdn.microsoft.com/en-us/library/System.Data.DataTable.aspx

您可以创建表格并填写如下:

// Definition
DataTable table = new DataTable();

DataColumn column = new DataColumn("Parent", typeof(string));
table.Columns.Add(column);

// Data
DataRow row = table.NewRow();
row["Parent"] = "A";
table.Rows.Add(row);