0
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'として渡す必要があります。これは、プロジェクトに削除タスクを必要とする多くのフォームがあり、パラメーターとして渡す方法と、関数でそのオブジェクトセットをチェックして削除するためです。

4

1 に答える 1

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プロパティがあり、それが interface を実装していることを確認する必要がありますIEntity

public interface IEntity {
    int Id { get; }
}
于 2012-08-10T18:16:29.463 に答える