2017-04-17 7 views
0

誰でもhello、 私はプロジェクトに必要なのはデータベースに挿入することですが、データベースには195の列があるので、オブジェクトとクラスでストアドプロシージャのパラメータを入力しますこの作業をより簡単にするためにC#側のロジック。プロパティ名でループ内のオブジェクト値を取得するC#

データベースソート用に作成したクラスのプロパティ名を簡単に取得できましたが、値を入力するのに苦労しています。

クラス

public class StokItem 
    { 
      public int prop1 { get; set; } 
      public short prop2 { get; set; } 
      public int prop3 { get; set; } 
      ..... 
 } 

プログラムコードXXXXを意味

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); 
       } 

。インデックスiの属性の値は、obgenの値です(これまでに値を記入しています)。

私が意味することは、非常に多くのフィールドを持つテーブルに対してこれを行う方法です。item.propNamestypeOf [i]実際に欲しいそれを行うには、それを受け入れるのですか?コードの下

答えて

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)); 
} 
+0

役立ちます私が探しているもののためにありがとうございました! –

関連する問題