实体框架6中未更改的对象

奥博明哥

我有Silverlight应用程序。这是使用实体框架6的调用操作(在Open Ria Service-WCF Ria Service开源版本中)。

    public List<VaultAmount> GetCurrentVaultAmounts(Guid vaultId)
    {
        return this.DbContext.VaultAmounts
            .Include(v => v.VaultAmountQuantities)
            .Include(v => v.VaultCurrency)
            .Include(v => v.Vault)
            .Include(v => v.VaultAmountQuantities.Select(vaq => vaq.VaultCurrency))
            .Where(v => v.VaultId == vaultId && v.IsCurrent).ToList();
    }

    [Invoke]
    public void UpdateVaultRemainders(List<VaultAmountQuantity> updatedQuantities, string comment, Guid userId,
        string friendlyName,
        Guid vaultAmountId, int currencyId)
    {
        VaultAmount vaultAmount =
            this.DbContext.VaultAmounts
                .Include("Vault")
                .SingleOrDefault(va => va.VaultAmountId == vaultAmountId);

        if (vaultAmount == null && vaultAmount.Vault == null) return;

        //Get FromVault and ToVault with amounts and updatedQuantities
        List<VaultAmount> currentAmounts = GetCurrentVaultAmounts(vaultAmount.Vault.VaultId);
        //Vault vault = GetVaultWithCurrentAmountsAndQuantitiesById(vaultAmount.Vault.VaultId);

        var helper = new RemainderVAHelper(currentAmounts, userId, friendlyName, currencyId, updatedQuantities,
            comment,
            BS2VaultEventTypes.Correction);

        //................................

        foreach (var amount in currentAmounts)
        {
            if (amount.IsCurrent == false)
            {
                DbEntityEntry<VaultAmount> entityEntry = this.DbContext.Entry(amount);
                entityEntry.State = EntityState.Modified;
            }
        }
        this.DbContext.SaveChanges();
    }

RemainderVAHelper类我改变currentAmounts对象,集IsCurrent属性设置为false。currentAmounts对象entityEntry.State仍然不变为什么?是的,我可以将它们的状态设置为“已修改”(就像我在方法中所做的那样),但是我认为这不是一件好事。您能告诉我为什么我的对象状态没有更改为Modified吗?

帕维尔

如果您不使用更改跟踪代理,则在调用DetectChanges或调用SaveChanges(调用DetectChanges)之前,EF无法知道您是否修改了属性。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

实体框架6 EntityDataSource在DbContext中未调用SaveChanges

来自分类Dev

实体框架6-预期GetObjectStateEntries修改后的实体的状态为“未更改”

来自分类Dev

如何检测1个实体框架对象中的更改

来自分类Dev

如何检测1个实体框架对象中的更改

来自分类Dev

在实体框架6中更改默认联结表名

来自分类Dev

对DbContext的更改未保存-MVC实体框架

来自分类Dev

实体框架子对象未填充

来自分类Dev

未调用种子方法,实体框架6

来自分类Dev

实体框架更改父抽象对象的状态

来自分类Dev

实体框架更改父抽象对象的状态

来自分类Dev

实体框架6:审核/跟踪更改

来自分类Dev

实体框架 6 不保存更改

来自分类Dev

实体框架6:克隆对象(ID除外)

来自分类Dev

实体框架未检测到C#中的jsonb属性更改

来自分类Dev

实体框架中未更新数据

来自分类Dev

实体框架是否看到数据库中已存在的对象内部的属性更改?

来自分类Dev

当对象从另一个类返回时无法保存实体框架中的更改

来自分类Dev

实体框架中的FK对象-性能问题

来自分类Dev

实体框架在列中存储对象

来自分类Dev

实体框架6数据库优先方法中DbContext对象之间的共享连接

来自分类Dev

在实体框架6中使用一个linq查询选择多个对象

来自分类Dev

实体框架6数据库优先方法中的DbContext对象之间共享连接

来自分类Dev

实体框架 6 - 使用数据库中尚不存在的对象形成关系

来自分类Dev

在实体框架6中对ICollection进行排序

来自分类Dev

实体框架6中的Alter Database

来自分类常见问题

实体框架6中的多异步?

来自分类Dev

实体框架6中的基类?

来自分类Dev

实体框架6中的MergeOption在哪里?

来自分类Dev

实体框架6中的CreatedOn列

Related 相关文章

热门标签

归档