我有一个场景,我需要使用不太可能改变但有助于实现业务逻辑的表格数据:
Table
Parent Child Relationship Allowed
A B C True
B A C False
每行代表一个业务规则。基于此表,我需要使用“Relationship”列的内容填充下拉控件。我可以在C#中使用某种数据结构来存储这些表格数据,还是需要使用数据库表?
答案 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);