我如何使用ObjectSet作为参数?

时间:2012-08-10 17:15:18

标签: .net entity-framework

using (var context = new JasminEntities())
{
    var expType = (from o in context.tblExpTypes where o.Id == lvExpType.FocusedItem.Text select o).Single();
        context.tblExpTypes.DeleteObject(expType);
        context.SaveChanges();
}

我有上面的代码,我需要传递context.tblExpTypes作为参数b'因为在我的项目中有许多表单需要删除任务,我如何作为参数传递然后在函数中我将检查该对象集删除?

1 个答案:

答案 0 :(得分:1)

通用方法怎么样:

public void Delete<T>(int someKey) where T : class, IEntity {
    var expType = context.CreateObjectSet<T>().SingleOrDefault(x => x.Id == someKey);
    if (expType != null) {
       context.DeleteObject(expType);
       context.SaveChanges();
    } 
}

您还必须确保每个实体都具有Id属性,并且它实现了接口IEntity

public interface IEntity {
    int Id { get; }
}