大家好, 我在项目中需要的是插入数据库,但数据库中有195列,所以我想在c#端输入带有对象和类逻辑的存储过程参数,以使这项工作更容易。
我很容易得到我为数据库排序创建的类的属性名称,但是我很难填写它们的值。
类
public class StokItem
{
public int prop1 { get; set; }
public short prop2 { get; set; }
public int prop3 { get; set; }
.....
}
计划代码
String [] propNamestypeof = typeOf (StokItem) .GetProperties (). Select (p => p.Name) .ToArray ();
StokItem item = new StokItem ();
Item.prop1 = blablabla
Item.prop2 = asddsad;
...
.
.
For (int i = 0; i <195; i ++) {
ScCommand.Parameters.AddWithValue ("@" + propNamestypeof [i], XXXXX);
}
含义XXXX;索引i中属性的值是obgen的值(我之前填充它)
我的意思是我怎么能为一个包含这么多字段的表做这件事item.propNamestypeOf [i]实际上想要这样做,但不接受它吗?
答案 0 :(得分:1)
下面的代码可能对您有所帮助
StokItem item = new StokItem();
item.prop1 = 123;
item.prop2 = 456;
...
foreach (var prop in item.GetType().GetProperties())
{
//string propertyName = prop.Name;
//var propertyValue = prop.GetValue(item);
ScCommand.Parameters.AddWithValue ("@" + prop.Name, prop.GetValue(item));
}