137 個のフィールドを持つ非常に大きなテーブルがあります。VB の Record オブジェクトでこのテーブルのレコードを作成し、LINQ to SQL でそれらを挿入しようとしています。しかし、1 つ以上のフィールドが長すぎるため、レコードを挿入できません。linq to sql を使用して挿入しようとすると、次のエラーが表示されます。文字列またはバイナリ データが切り捨てられます。ステートメントは終了されました。
エラー メッセージの詳細を確認しましたが、どのフィールドが長すぎるかわかりません。
この問題を解決するには、リフレクションを使用して Record オブジェクトの各フィールドの各値をループし、長すぎるかどうかを確認します。そのためには、linq から sql オブジェクトへの最大フィールド長にプログラムでアクセスする必要があります (したがって、最大サイズが何であるかがわかります)。これどうやってするの?特定の linq to sql オブジェクトの GUI では、各フィールドに最大値を格納する serverdatatype プロパティがあることがわかります。コードでこれにアクセスするにはどうすればよいですか?