0

少し問題があります。エンティティセットを更新しようとするたびに、次のエラーが発生します。

EntitySet 'ShoppingCart' を更新できません。DefiningQuery があり、現在の操作をサポートする ModificationFunctionMapping 要素に InsertFunction 要素が存在しないためです。

コードは次のとおりです。

public void AddItem(string cartID, string productID, string quantity)
        {
            using (CommerceEntities db = new CommerceEntities())
            {
                try
                {
                    var myItem = (from c in db.ShoppingCarts
                                  where c.CartID == cartID &&
                                      c.ProductID == productID
                                  select c).FirstOrDefault();
                    if (myItem == null)
                    {
                        ShoppingCart cartadd = new ShoppingCart();
                        cartadd.CartID = cartID;
                        cartadd.Quantity = quantity;
                        cartadd.ProductID = productID;
                        cartadd.DateCreated = DateTime.Now;
                        db.ShoppingCarts.AddObject(cartadd);
                    }
                    else
                    {
                        myItem.Quantity += Convert.ToInt32(quantity);
                    }
                    db.SaveChanges();
                }
                catch (Exception exp)
                {
                    throw new Exception("ERROR: Unable to Add Item to Cart - " +exp.Message);
                }
            }
        }

`

私を助けてください。必要に応じて詳細情報を提供できます。私はこの Entity Framework モデルを初めて使用し、このページのチュートリアルに従っています。

更新: 主キーを追加し、データベース全体を再設計しました。エラーは次のように変わりました。

System.Data.UpdateException はユーザー コードによって処理されませんでした Message=エントリの更新中にエラーが発生しました。詳細については、内部例外を参照してください。

4

1 に答える 1

0

これは通常、エンティティ セットがデータベース ビュー、カスタム データベース クエリからマップされている場合、またはデータベース テーブルに主キーがない場合に発生します。

于 2012-12-13T08:43:32.363 に答える