2

私はこれをしたい:

public static void SetStringsToBeNonUnicode(this EntityTypeConfiguration<T> config) 
{

}

コンパイラは <T> が好きではありません。これの正しい構文は何ですか?


詳細なコンテキストでは、EntityTypeConfiguration は EntityFramework クラスであり、次のように定義されています。

public class EntityTypeConfiguration<TEntityType> : StructuralTypeConfiguration<TEntityType> where TEntityType : class

これが私の頭痛の原因です。

私が本当にやりたいことは、dbcontext クラスを構成するときに次のようなことができるようになることです。

public class ReceiptEntityConfiguration: EntityTypeConfiguration<ReceiptEntity>
{
    public ReceiptEntityConfiguration()
    {
        ToTable("vReceipt");
        HasKey(r => r.ReceiptId);
        this.SetStringsToBeNonUnicode();  //I want to make all string fields for this entity type (ReceiptEntity in this case) to be treated as not unicode.
        ...etc etc
    }
}

EF6.0 はこれを Lightweight Conventions で処理しますが、ベータ版を製品に使用することはできません。

4

1 に答える 1

5

T関数の型パラメーターとしてを指定する必要があります。次のようにします。

public static void SetStringsToBeNonUnicode<T>(this EntityTypeConfiguration<T> config) where T : class
{

}
于 2013-07-10T19:44:09.943 に答える