0

「ref」と「2parq」をフィールドとして持つデータベースを継承しました。

このデータベース テーブルを表すモデルを作成すると、次のエラーが発生します。

Invalid token 'ref' in class, struct, or interface member declaration

私のクラスは以下です:

public class Call
{
    [Key]
    public int CallId { get; set; }
    public string ref { get; set; }

残念ながら、データベース フィールドの名前を変更することはできません。

モデル内の「ref」フィールドと「2parq」フィールドを参照できる方法はありますか?

ありがとう、マーク

4

3 に答える 3

5

を使用する代わりに@ref、正しい PascalCase プロパティ名を使用し、Column属性を使用してマッピングを変更するか、流暢なマッピング API を使用することをお勧めします。

[Column(Name="ref")]
public string Reference { get; set; }
于 2013-05-28T10:00:09.337 に答える
2

試す

public string @ref { get; set; }

@symbol はコンパイラに、予約済みのキーワードrefを無視して通常の変数として扱うように伝えます。

MSDNドキュメントはここにあります。

于 2013-05-28T09:57:41.937 に答える
1

プロパティ名の先頭@に記号を追加します。

public class Call
{
    [Key]
    public int CallId { get; set; }
    public string @ref { get; set; }

MSDNから:

接頭辞「@」を使用すると、キーワードを識別子として使用できます。これは、他のプログラミング言語とやり取りするときに役立ちます。文字 @ は実際には識別子の一部ではないため、識別子は他の言語では接頭辞なしの通常の識別子として表示される場合があります。@ 接頭辞が付いた識別子は逐語的識別子と呼ばれます。キーワードではない識別子に @ プレフィックスを使用することは許可されていますが、スタイルの問題として強くお勧めしません。

于 2013-05-28T09:58:03.033 に答える