C# EntityFramework由另一项更新项

C# EntityFramework由另一项更新项,c#,entity-framework,C#,Entity Framework,我有以下代码: public static void SaveItem(Item itemFrom) { using (myEntitites ctx = new myEntitites()) { Item itemTo = ctx.Items.First(x => x.ID = itemFrom.ID); itemTo.Property1 = itemFrom.Property1; itemTo.Property2 = it

我有以下代码:

public static void SaveItem(Item itemFrom)
{
    using (myEntitites ctx = new myEntitites())
    {
        Item itemTo = ctx.Items.First(x => x.ID = itemFrom.ID);
        itemTo.Property1 = itemFrom.Property1;
        itemTo.Property2 = itemFrom.Property2;
        itemTo.Property3 = itemFrom.Property3;
        //..lot of properties 
        ctx.SaveChanges();
    }
}
我想知道是否有一种方法可以在不指定每个属性的情况下更新项目


itemFrom
itemTo

的更新版本。您可以手动将项目附加到上下文,而无需从数据库获取对象。 实体框架将使用模型中定义的主键更新正确的行

public static void SaveItem(Item itemFrom)
{
    using (myEntitites ctx = new myEntitites())
    {
        ctx.Items.Attach(itemFrom);
        ctx.Entry(itemFrom).State = EntityState.Modified;
        ctx.SaveChanges();
    }
}

您可以手动将项目附加到上下文,而无需从数据库获取对象。 实体框架将使用模型中定义的主键更新正确的行

public static void SaveItem(Item itemFrom)
{
    using (myEntitites ctx = new myEntitites())
    {
        ctx.Items.Attach(itemFrom);
        ctx.Entry(itemFrom).State = EntityState.Modified;
        ctx.SaveChanges();
    }
}

itemTo=itemFrom应work@King否,重新分配变量不会更新跟踪的实体。itemTo=itemFrom应work@King不,重新分配变量不会更新跟踪的实体。如果使用
附加
,是否需要关心引用?
如何附加
知道要覆盖哪个项目?通过其ID?是的,attach方法将使用主键确定要覆盖的对象。如果使用
attach
,是否需要关心引用?
如何附加
知道要覆盖哪个项目?通过其ID?是的,attach方法将使用主键确定要覆盖的对象。