0

我有一个实体,我想更新而不更新它的许多实体列表。我使用 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 方法正在工作。但是更新不会改变任何东西......

如果有人能告诉我我错过了什么,我会很高兴......

/谢谢J

4

2 回答 2

2

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

public BuyerInformation Update(BuyerInformation objBuyerInformation)
    {
        context.BuyerInformation.Attach(objBuyerInformation);
        context.Entry(objBuyerInformation).State = EntityState.Modified;
        context.SaveChanges();

        return objBuyerInformation;
    }
于 2013-03-17T15:06:59.427 回答
0
if (b.Id== 0)
    {
        context.B.Add(b);
    }
else
   {
       context.B.Attach(b);
   }
   context.SaveChanges();
于 2013-01-21T09:25:36.377 回答