質問

LINQ to SQL では、列の型を指定することでテーブル マッピングを自動的に Enum に相互変換できます。これは文字列または整数に対して機能します。

変換で大文字と小文字を区別しないようにする方法、またはカスタム マッピング クラスまたは拡張メソッドを組み合わせて、文字列がどのように見えるかをより詳細に指定できるようにする方法はありますか。

そうする理由は、データ スキーマがすでに設定されている (そして一部のレガシー アプリによって依存されている) システムの新しいファンキーな C# コード内で、より適切な命名規則を提供するためである可能性があります。そのため、データベース内の実際のテキストは、変更されることはありません。

役に立ちましたか?

解決

LinqToSql クラスと同じ名前の部分クラスをいつでも追加し、独自のパラメーターと関数を定義できます。これらは、自動生成された LinqToSql メソッドにアクセスできるのと同じ方法で、このオブジェクトのオブジェクト パラメーターおよびメソッドとしてアクセスできるようになります。

例:という名前の LinqToSql クラスがあります。 Car これは DB の Car テーブルにマッピングされます。次に、次のコードを含むファイルを App_Code に追加できます。

public partial class Car {
  // Add properties and methods to extend the functionality of Car
}

これが列挙型を列にマップする方法を変更するという要件を完全に満たしているかどうかはわかりません。ただし、get/set プロパティが機能するパラメーターを追加して、大文字と小文字を区別せずに必要な列挙型をマップすることもできます。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top