私はC#プログラムとSQLデータベースを接続するためにDataSetを使用しています。列の1つを列挙型にしたいので、コード内で列挙型として動作させたいと思います。これどうやってするの?DataSetの列挙型
答えて
私はみんなのバブルを破裂するという意味ではありませんが、あなたは簡単に厳密に型指定されたDataSetを使用して列挙型の整数をマッピングすることができます。私はいつもそれをする。全体をここに入力するのではなく、これを達成する方法を詳しく説明するentry on my Blogを作成しました。
リポジトリレイヤーの上にあるApplicationServiceレイヤーを使用することをお勧めします。次に、ApplicationServiceクラス(このクラスの適切な名前を考えてください)で、リポジトリレイヤから返されたデータをPOCOオブジェクトの適切な列挙型の値に変換できます。
あなたはstrongly typed datasetを使用してみてください。
これはenumでどのように役立ちますか? –
この構造体を使用して、列データ型の1つをカスタム列挙型の型に変更または追加できます。限り、それを埋める数値のdb値が列挙型の範囲内にある限り、私はそれが動作すると信じています。これには、部分クラスを追加するか、生成されたクラスを変更する必要があります。 – James
これがうまくいくと仮定しても、その列で有効なものの定義が複数あるので、保守上の問題です。また、私は、ADO.NETが暗黙的にあなたがコードで行うことができなかったキャストを実行することに気づくでしょう:MyEnum e = 1;コンパイルされません。 –
技術的にはできません。 Enumは静的型で、コンパイル時にすべての値を知っているときに使用するように設計されています。いくつかの回避策がありますが、私はあなたがこれをしないことを強くお勧めします。
変更不可能なデータセットを見ると、Enumの利点の大部分が得られ、オンザフライで作成できます。
データが列挙として格納することができないが、それらは限りデータベースの列のデータが整数型であるように空想フィルタとして使用することができます。それがあなたの後にあるならば、それは完全に異なる質問です。 MSDN pageに行き、Enumで読んでください。
- 1. 列挙型の列挙型の列挙型へのアクセス
- 2. DBの列挙型または列挙型の列挙型
- 3. 列挙型の中の列挙型
- 4. 列挙型の列挙型の作成
- 5. 列挙型内の列挙型
- 6. 列挙型の
- 7. 列挙型データ型
- 8. int型/列挙型
- 9. 多型列挙型
- 10. WPFデータ列挙型の列挙
- 11. Elasticsearch - 列挙型のデータ型
- 12. は、列挙型
- 13. 列挙型に
- 14. 列挙型?
- 15. 列挙型は
- 16. 列挙型は
- 17. 列挙型プログラム
- 18. 列挙型hasMoreElements()
- 19. 列挙型は
- 20. マッピング列挙型、
- 21. 列挙型と++
- 22. イドリス - 列挙型
- 23. は、列挙型
- 24. 列挙型は
- 25. EF5外部型の問題への列挙型の列挙
- 26. 列挙型のマッピング
- 27. 列挙型のベストプラクティス
- 28. MongoDBの列挙型
- 29. スカラの列挙型
- 30. オブジェクトリテラルの列挙型
タク、それはまさに私が望んでいたものです。 – svick
+1コンセプトの実証をしていい仕事。私はそれが型付きのデータセットで可能であることを知っていました。しかし、このアプローチでは、xsdが型指定されたデータセットデザイナーによって踏まれてしまうので、データセットを変更するたびにxsdファイルの変更をやり直す必要はありませんか? – James
はい、問題のあるxsdが詰まってしまいます。 DataSetでカスタム列挙型を使用することを惜しみなく省き、メンテナンスを最小限に抑えることができます。しかし、私は整数に前後にキャストするのではなく、直接列挙型を扱うほうがはるかに好きです。私たちがこれを行う場所はほんのわずかで、そのデータセットはほとんど変更されないため、影響は最小限です。( – Josh