0

iC_ProductImageAssociation テーブルに「ProductFeatureApplicabilityId」という列をもう 1 つ追加できます。

この列は iC_ProductFeatureApplicability を参照します。したがって、製品が、色「赤」の ProductFeature を持つ ABC が iC_ProductFeatureApplicability に挿入されていると仮定すると、この ProductFeatureApplicabilityId を取得して、iC_ProductImageAssociation テーブルに格納できます。

そのため、Image を製品、ProductFeature、またはその両方に適用できるようになりました。また、別の ProductFeature データ モデルを作成する予定です。

個々の列を機能として保存するのではなく (現在の iC_ProductFeature テーブルのように、色、サイズ、ブランドなどを個別の列として保存しています)、これらすべてを保存する製品機能のマスター テーブル (iC_ProductFeatureMasters) を作成できます。列を行として、実行時に管理者はより多くの機能を定義できます

したがって、iC_ProductFeatureMasters はデータを次のように保存します。

ProductFeatureMasterId                        FeatureName 

 1                                            Color

 2                                            Size

 3                                            Brand 

 4                                            Dimensions

iC_ProductFeature テーブルには、ProductFeatureMasterId とその値が格納されます。

iC_ProductFeature は以下のようになります

ProductFeatureId               ProductFeatureMasterId     Description         UOM ID  

 1                                    1                       RED
 2                                    4                       10                     1    
4

2 に答える 2

0

これが私のコードの例です:

var table = new DataTable();
var sqlCopy = new SqlBulkCopy(dataBaseConnection, SqlBulkCopyOptions.Default, sqlTransaction) { DestinationTableName = destinationTableName};
sqlCopy.WriteToServer(table);

詳細については、以下のリンクを参照してください。

http://msdn.microsoft.com/en-us/library/system.data.sqlclient.sqlbulkcopy.aspx

http://www.sqlteam.com/article/use-sqlbulkcopy-to-quickly-load-data-from-your-client-to-sql-server

複数のテーブルに対して BulkCopy を実行することはできないため、テーブルごとに BulkCopy を実行する必要があります。トランザクション動作の場合、Transaction オブジェクトを作成し、BulkCopy オブジェクトのコンストラクターを渡す必要があります。

于 2011-02-01T15:19:01.990 に答える
0

おそらく、挿入メソッドではなく、各行挿入で実行する必要があるトリガーやその他のロジックが原因である可能性があります。トリガーを実行する必要がある場合、一括コピーでさえ高速ではありません。

一度に 1 つずつではなく、挿入後にすべての行で実行するようにロジックをリファクタリングすることをお勧めします。通常、新しいデータ用のステージング テーブルを作成します。ステージング テーブルは、処理中および通常のデータ テーブルとマージされる前に格納されます。

于 2011-02-01T15:34:00.507 に答える