ObjectSet.AddObject(T) problem?
本文关键字:problem AddObject ObjectSet | 更新日期: 2023-09-27 18:04:42
ObjectSet.Single(谓词)不工作(Where()和toList()方法也是如此),除非我这样写:
ObjectSet.Cast<TEntity>().Single<TEntity>(predicate)
但是我不知道该怎么做来解决AddObject和DeleteObject方法的问题:
public void Add<TEntity>(TEntity entity)
{
ObjectSet.AddObject(entity);
}
错误消息告诉我"entity"是一个错误的参数。问题是否与EF 4.1有关?
下面是我的通用存储库中的一些片段:
public void Add<K>(K entity) where K : class
{
context.CreateObjectSet<K>().AddObject(entity);
}
public K SingleOrDefault<K>(Expression<Func<K, bool>> predicate) where K : class
{
K entity = context.CreateObjectSet<K>().SingleOrDefault<K>(predicate);
return entity;
}
请参阅下面的链接:http://msdn.microsoft.com/en-us/library/dd382944.aspx
编辑:如果你已经创建了一个ObjectSet,那么你的类已经定义了TEntity,因此你的方法应该这样调整:
public void Add(TEntity entity)
{
ObjectSet.AddObject(entity);
}
您还应该能够对您的Single()方法进行类似的调整,不需要强制转换。