目前正在尝试找到一种获取通用类型类的方法,并且无法找到这样做的方法。我目前的工作方法如下:
public class CategoryConfiguration : EntityTypeConfiguration<Category>
{
public CategoryConfiguration()
{
ToTable("Categories");
Property(c => c.Name).IsRequired().HasMaxLength(50);
}
}
我想将此方法更改为:
public class CategoryConfiguration : EntityTypeConfiguration<T>
{
public CategoryConfiguration()
{
ToTable(/*get string representation of 'T' here and pluralize*/);
Property(c => c.Name).IsRequired().HasMaxLength(50);
}
}
答案 0 :(得分:6)
答案 1 :(得分:1)
如果您想查看班级名称,请使用nameof(T)
。或者,如果您希望查看与T
类型绑定的不同名称,则可以使用Attribute
,Description
作为示例(请在此处阅读:https://msdn.microsoft.com/ru-ru/library/system.componentmodel.descriptionattribute(v=vs.110).aspx),并获取值它的。
例如:
[Description("/*name, which you would like to see*/")]
public class Category
{
/* your class realization */
}
并在CategoryConfiguration
中使用
ToTable((typeof(T).GetCustomAttributes(typeof(DescriptionAttribute), true)
.First() as DescriptionAttribute)
.Description);