繁体   English   中英

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

[英]One-To-Many Entity Framework 5 Update with code first

我有一个要更新的实体,但不更新其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

使用以下条件,对我有用

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();

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM