我想要更新一个实体而不更新其MANY实体列表。我使用Code-First但我无法让它工作...... 我正在使用Ninject,一切正常,除了我的更新...
//实体
public class A
{
public int AId { get; set; }
public string Name { get; set; }
}
public class B
{
public int BId { get; set; }
public string Name { get; set; }
public virtual List<A>ListOfAs { get; set; }
}
//接口
private EFDbContext context = new EFDbContext();
public IQueryable<B> Bs
{
get { return context.B; }
}
public void SaveBs(B b)
{
if (b.Id== 0)
{
context.B.Add(b);
context.SaveChanges();
}
*//here i wanna call:
context.Entity(b).State = EntityState.Modified;
BUT VS dont let me... I probably missing something out...*
context.SaveChanges();
当我想将新对象添加到我的数据库时,Save方法正在运行。但更新不会改变任何东西......
如果有人能告诉我我错过了什么,我会嗤之以鼻......
/ Thx J
答案 0 :(得分:2)
使用以下标准,这项工作对我来说
public BuyerInformation Update(BuyerInformation objBuyerInformation)
{
context.BuyerInformation.Attach(objBuyerInformation);
context.Entry(objBuyerInformation).State = EntityState.Modified;
context.SaveChanges();
return objBuyerInformation;
}
答案 1 :(得分:0)
if (b.Id== 0)
{
context.B.Add(b);
}
else
{
context.B.Attach(b);
}
context.SaveChanges();