【发布时间】:2015-10-25 07:23:06
【问题描述】:
//Repository Method
public void Delete(int id)
{
using (var scope = new UnitOfWork(_container))
{
var entity = AuthorService.GetById(id);
scope.Container.Authors.DeleteObject(entity);
}
}
Ninject 绑定
public class LibraryManagerInjectModule : NinjectModule
{
public override void Load()
{
Bind<LibManagerContainer>().To<LibManagerContainer>().InThreadScope();
}
}
//Author Service Class
public static class AuthorService
{
private static LibManagerContainer Container
{
get { return MF.MF.Get<LibManagerContainer>(); }
}
public static Author GetById(int id)
{
using (var scope = new UnitOfWork(Container))
{
return Container.Authors.SingleOrDefault(x => x.Id == id);
}
}
public static Author GetByName(String name)
{
using (var scope = new UnitOfWork(Container))
{
return Container.Authors.SingleOrDefault(x => x.Name == name);
}
}
}
使用此代码我无法从数据库中删除实体。它向我显示了一个错误,即实体不属于同一个对象状态管理器,但我在 Threadscope 中创建了 libContainer 对象但永远无法删除该实体。
【问题讨论】:
标签: c# entity-framework