想知道你是否可以帮我做些什么我一直在挠头。我会先从代码开始!实体框架没有创建插入语句
public class DevelopmentImageContext : Context<DevelopmentImage>
{
public List<DevelopmentImage> DevelopmentImages { get; private set; }
public DevelopmentImageContext() { }
public DevelopmentImageContext(int imageId)
{
EntityId = imageId;
}
public DevelopmentImageContext(Development development)
{
var result = (from d in Context.DevelopmentImages
where d.Development == development
select d).ToList();
DevelopmentImages = result;
}
public override DevelopmentImage GetEntity()
{
if (EntityId != 0)
{
return Context.DevelopmentImages.Where(d => d.ImageId == EntityId).FirstOrDefault();
}
throw new EntityNotFound("Entity was either null or 0");
}
public override void CreateEntity(DevelopmentImage entity)
{
Context.DevelopmentImages.AddObject(entity);
Context.SaveChanges();
}
public override void CreateEntities(List<DevelopmentImage> entities)
{
foreach (var entity in entities)
{
try
{
Context.DevelopmentImages.AddObject(entity);
CommitChanges();
}
catch (Exception exception)
{
throw new Exception("Unable to create Object", exception);
}
}
Context.SaveChanges();
}
}
有一个名为ContextManager的抽象类,名为Context。如有必要,我可以发布此信息。
当调用CreateEntities方法时,我通过一个Development列表,遍历它们并插入到数据库中。问题是,没有创造。尝试使用EFProf来查看它是否使用插入查询创建事务并且什么也不做。我在Context类中有另一个名为DeleteEntities的方法,它使用一些基本的SQL和ExecuteStoreCommand方法有效地删除数据中的所有数据。在EFProf中,我可以看到正在执行的这个SQL。
任何想法,为什么我不能创建对象?
谢谢, 马特
编辑:我已经把其更名为背景,以ContextEntity,看看是否改变任何东西,没有:(
我甚至试图ContextEntity.AddToDevelopments(实体);没有快乐 – Matt
单个实体的'CreateEntity'是否工作?什么是CommitChanges()? – Slauma
我对此有进一步更新;直接与业务层直接交流没有任何问题。我正在尝试实现服务,并且在与业务层交谈时此服务未创建要执行的语句。有什么特别的我需要做的服务层,让它来创建一个数据库连接? – Matt