调用savechanges()后插入其他表

时间:2015-01-12 11:15:15

标签: c# wpf entity-framework mvvm

我创建了一个简单的框架,使用MVVM为我的应用程序执行CRUD,如下所示(对于add方法):

public int Add<TEntity>(TEntity entity) where TEntity : class
    {

        if (entity == null)
        {
            throw new ArgumentNullException("entity");
        }
        string entityName = GetEntityName<TEntity>();
        var fqen = GetEntityName<TEntity>();
        object originalItem;
        EntityKey key = ObjectContext.CreateEntityKey(fqen, entity);
        if (ObjectContext.TryGetObjectByKey(key, out originalItem)) return 0;
        ObjectContext.AddObject(entityName, entity);

         int  r = ObjectContext.SaveChanges();

        return r;
    }

//和上下文

private ObjectContext ObjectContext
    {


        get
        {
            return GlobalContext.MainObjectContext;
        }
    }

//和Singltone

 public static S_Entities MainObjectContext
    {
        get
        {
            return Singleton.Instance();
        }
    }

在ViewModel中,Save()实现如下:

 public void SaveItem()
    {
        storeReceiptBusiness.Insert(CurrentItem);
        Items.Add(CurrentItem);}

问题是当调用Save()时,CurrentItem将按预期插入,但最后添加的实体的currentItem和当前ViewModel的CurrentItem将被添加! 我需要放弃旧的更改,只添加当前值。 希望很清楚。 非常感谢。

0 个答案:

没有答案
相关问题