7

列を持つテーブルがあり、varcharEntity Framework を使用してWHERE句でこの列を使用しています。

Entity Framework はクエリを生成するN''ため、列のインデックスは使用できません。varcharEntity Framework にクエリを生成させる方法はありますnvarcharか?

4

2 に答える 2

7

実際には、EF モデルをどのように構築したかによって異なります。デザイナーを使用している場合は、各列に必要なデータ型を指定できます (この場合は、設定するだけでvarchar完了です)。

コードファーストのアプローチを使用している場合は、その列を表すプロパティを適切な属性で装飾する必要があります ( string.NET のオブジェクトは常に Unicode であるためnvarchar、デフォルトでマップされます)。これを行うだけです (データ注釈を使用する場合は、あなたが使用している場合StringAttribute、そのIsUnicodeプロパティをに設定しますfalse):

[Column(TypeName = "varchar")]
public string YourColumnName
{
    get;
    set;
}
于 2013-03-12T12:04:18.040 に答える