我正在尝试创建一个可以调用查询数据库的类方法。函数本身有效但由于某种原因,当返回数组时,它们不是set
。
我的功能代码是:
public Configuration[] tbl_bus(string type, string match)
{
// Create Obejct Instance
var db = new rkdb_07022016Entities2();
// Create List
List<Configuration> ConfigurationList = new List<Configuration>();
// Allow Query
if (type.ToLower() == "bustype")
{
foreach (var toCheck in db.tblbus_business.Where(b => b.BusType == match))
{
// Create Class Instance
var model = new Configuration { Name = toCheck.Name, BusinessID = toCheck.BusinessID };
// Append to the property
ConfigurationList.Add(model);
}
}
else if (type.ToLower() == "businessid")
{
foreach (var toCheck in db.tblbus_business.Where(b => b.BusinessID == match))
{
// Create Class Instance
var model = new Configuration { Name = toCheck.Name, BusinessID = toCheck.BusinessID };
// Append to the property
ConfigurationList.Add(model);
}
}
return ConfigurationList.ToArray();
}
我的配置代码是:
public class Configuration
{
// Properties of the Database
public string Name { get; set; }
public string BusinessID { get; set; }
public string Address { get; set; }
}
public Configuration Config { get; set; }
public Controller()
{
this.Config = new Configuration();
}
在我的处理程序上我正在做:
// Inside the NameSpace area
Controller ctrl;
// Inside the Main Void
ctrl = new Controller();
ctrl.tbl_bus("bustype", "CUS");
context.Response.Write(ctrl.Config.Name);
我尝试观看Class函数,但它确实创建了数组,当我看到ctrl.Config.Name
它始终设置为NULL
时。任何人都可以帮助我理解为什么return
实际上setting
是否属于Configuration类中的属性?
编辑:该功能确实运行,并在将bus_type与customer匹配时获取3006行数据。 (它是一个大型数据库) - 只是,属性永远不会在return
上设置。
编辑:是否有特定的方法将数组返回到set
属性?
提前致谢!
答案 0 :(得分:3)
将Configs
中的Controller
更改为array
public Configuration[] Configs { get; set; }
将tbl_bus
功能更改为无效,并在功能内设置Configs
。
public void tbl_bus(string type, string match)
{
// do your code
// set the configs here
Configs = ConfigurationList.ToArray();
}
希望它有所帮助。
答案 1 :(得分:2)
虽然这不是您问题的完整答案,但问题可能在于您没有对该方法返回的数组执行任何操作。您只需立即丢弃它。如果您将代码更改为
ctrl = new Controller();
Configuration[] config = ctrl.tbl_bus("bustype", "CUS");
稍后您将能够引用该数组。
Console.WriteLine(config.Length);
现在您可以使用它来设置您喜欢的任何属性。