我想这样做:
public static void SetStringsToBeNonUnicode(this EntityTypeConfiguration<T> config)
{
}
编译器不喜欢&lt; T&gt;在那里,这是什么正确的语法?
更多上下文,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。
答案 0 :(得分:5)
您需要将T
指定为该函数的类型参数。你这样做:
public static void SetStringsToBeNonUnicode<T>(this EntityTypeConfiguration<T> config) where T : class
{
}