使用してSQL Serverデータベースにビジネス・オブジェクト配列を渡す: What are the best ways to send arrays from js (jQuery) to sql sproc? Array transmitting between layersは、どのように私の要件は、次のsimilerあるMicrosoft.Practices.EnterpriseLibrary
しかし、私はC#MVC 4を使用していますが、データベース操作のために、私はMicrosoft.Practicesを使用しています。エンタープライズライブラリ。 '/' アプリケーションで
サーバーエラー:
は、私は次のエラーを取得しています SqlDatabase sqlServerDB = new SqlDatabase(SqlHelper.GetConnectionString());
string query = @" EXEC Some_Proc ";
DbCommand cmd = sqlServerDB.GetSqlStringCommand(query);
cmd.CommandTimeout = 120;
sqlServerDB.AddInParameter(cmd, "@DataArray", DbType.Object, timesheetList);
result = Convert.ToInt64(sqlServerDB.ExecuteNonQuery(cmd));
を使用したデータアクセス層にDataTableオブジェクトを渡しています。
着信表形式データストリーム(TDS)リモートプロシージャコール(RPC)プロトコルストリームが正しくありません。パラメータ3( "@DataArray"):データ型0x62(sql_variant)には、型固有のメタデータに無効な型があります。
説明現在のWeb要求の実行中に、未処理の例外が発生しました。エラーの詳細とコード内のどこで発生したのかについては、スタックトレースを参照してください。
例外の詳細:System.Data.SqlClient.SqlException:受信テーブル形式データストリーム(TDS)リモートプロシージャコール(RPC)プロトコルストリームが正しくありません。パラメータ3( "@DataArray"):データ型0x62(sql_variant)には、型固有のメタデータに無効な型があります。
誰かが私を助けてくれますか?
それはこれを試して[OK]をテーブルタイプ –
をユーザー定義である - 'sqlServerDB.AddInParameter(CMD、 "@DataArray"、DbType.Structured、timesheetList);' –
のDbType。 StructuredはMicrosoft.Practices.EnterpriseLibraryでは使用できません –