我有幾個實例除了類名稱都相同,每個實例都映射到對應的相同表。每個表的映射類似於以下內容:無法使用泛型創建EF代碼第一個映射類
modelBuilder.Entity<Foo>().Map(x =>
{
x.MapInheritedProperties();
x.ToTable("Foo");
})
此方法有效,但重複。
我創建了這個類,希望擺脫重新定位。爲簡潔起見,此處簡化。
public class Generic<T>
{
public Generic(DbModelBuilder modelBuilder, string tableName)
{
modelBuilder.Entity<T>().Map(m =>
{
m.MapInheritedProperties();
m.ToTable(tableName);
});
}
}
我得到以下編譯器錯誤,我不明白:
The type 'T' must be a reference type in order to use it as parameter 'TEntityType' in the generic type or method 'System.Data.Entity.DbModelBuilder.Entity<TEntityType>()'
- 像許多程序員的.Net我使用泛型了很多,但不經常寫他們。
- 我已經使用EF一段時間了,但我對Code First很新穎
- 我做了很多搜索和關閉SO沒有運氣。
- 我在做什麼錯?我不明白什麼?
由於提前, 吉姆
感謝您提供了很好的答案和額外的信息。我已經將早先的答覆標記爲答案。但是,我想讓你知道我讚賞其他信息。我總是很欣賞學習新東西。 – 2013-03-21 22:08:13
@JimReineri歡迎您。 – 2013-03-22 09:25:15