0
我想添加一個通用的插入方法使用GetTable()與我的存儲庫模式與EntityFramework(希望我有模式的權利)使用GetTable()給出的錯誤'類型T必須是引用類型'
但是我收到下面的註釋中顯示的錯誤。
其實我是想在數據庫中插入記錄,而不管該表 任何幫助非常感謝:)
這是我BaseRepository通用類
public abstract class BaseRepository<T>
{
private static DBEntities dbEntities;
public BaseRepository()
{
dbEntities = new DBEntities();
}
public IQueryable GetTable<T>(T entity) where T : class
{
return dbEntities.CreateObjectSet<T>();
}
public void Insert<T>(T obj)
{
//the line below gives an error 'The Type T must be a reference type
// in order to use it as parameter T. I HAVE tried adding ref here
// and in GetTable method, but same error
var table = GetTable(obj);
int saveChanges = dbEntities.SaveChanges();
}
}
1)如果該類具有泛型pe參數,您不應該在方法上重複該參數。 2)'T:class'約束需要在'BaseRepository'上,而不是在方法上。 –
CodesInChaos
「我已經嘗試過在這裏添加引用」,這意味着引用*類型*和引用*參數*之間的混淆,可以通過詳細閱讀[參數傳入C#](http://www.yoda .arachsys.com/csharp/parameters.html) – AakashM