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 使用轻量级约定来处理这个问题,但我不能将 beta 位用于 prod。

4

1 回答 1

5

您需要将 指定T为函数的类型参数。你这样做:

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

}
于 2013-07-10T19:44:09.943 回答