4

SQL データベースのデータを C# のオブジェクトにマッピングしています。問題は、列の 1 つが残念ながら "100_hrs" という名前になっていることです。そのため、C# オブジェクトを作成しているときに、宣言でエラーが発生します。

public float 100_hrs {get; set;}

@フロントで使用してみましたが、うまくいきません。プロパティの名前が表の列と同じでない場合、マップされません。これをどのようにマッピングできますか?

4

3 に答える 3

8

以下のように列属性を使用できます

[Column("100_hrs")]
public float hundred _hrs {get; set;}
于 2013-04-15T05:14:39.607 に答える
7

@うまくいかなかった理由を答えます。

@キーワード名で変数を宣言できますが、無効なトークンを使用することはできません。

MSDN

主な質問に関しては、テーブルの列名を変更する必要があるようです。
EntityFramework の NHibernate などのマッピング エンジンを使用している場合は、マッピング ファイルを変更できます。例:

[Column("100_hrs")]
public float hrs100 {get; set;}
于 2013-04-15T05:12:24.073 に答える
0

_100_hrs という数値の前にアンダースコアを使用しないのはなぜですか。列にマップする場合は、文字列抽出によって簡単に操作できるからです。少しオーバーヘッドがありますが、問題は確実に解決します。

于 2013-04-15T05:22:32.083 に答える