一对多实体框架5先用代码更新

本文关键字:代码 更新 实体 框架 一对多 | 更新日期: 2023-09-27 17:54:40

我有一个实体,我想更新而不更新其许多实体的列表。我使用代码优先,但我不能让它工作…我使用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();

保存方法是工作时,我想只是添加一个新的对象到我的数据库。但是更新不会改变任何东西…

如果有人能告诉我我错过了什么,我会很感激的。

/Thx J

一对多实体框架5先用代码更新

使用以下标准,这对我有用

public BuyerInformation Update(BuyerInformation objBuyerInformation)
    {
        context.BuyerInformation.Attach(objBuyerInformation);
        context.Entry(objBuyerInformation).State = EntityState.Modified;
        context.SaveChanges();
        return objBuyerInformation;
    }
if (b.Id== 0)
    {
        context.B.Add(b);
    }
else
   {
       context.B.Attach(b);
   }
   context.SaveChanges();