想知道你是否可以幫我做些什麼我一直在撓頭。我會先從代碼開始!實體框架沒有創建插入語句
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