新規作成、私はMVC 2 C#を初めて使用し、LINQでEntityFrameworkを使用しています。コントローラのUpdateModelを呼び出すのはMVCパターンですか?モデルレイヤーで同じことをどうすればできますか?
多くの例(MicrosoftのMVC 2 MusicStoreを含む)では、データベースの更新がコントローラレイヤーで行われていることに気付きました。たとえば、ProductModel(Product、 "Products")を呼び出し、ProductControllerクラスのSaveChanges()を呼び出すデータベース製品を更新する場合
ok、シンプルで簡単ですが、は次のMVC "traditional"パターンです ??
この代わりに、私はProductModelクラスに責任を委譲してみてください(私が追加とAutoMapperと削除の成功とそれを作った)が、私は私が何かをしようとしたモデル から更新する方法を見つけることができません。以下のような
Mapper.CreateMap<Product, ProductModels>();
Mapper.CreateMap<ProductModels, Product>();
var p = Mapper.Map<Product, ProductModels>(prod);
productosBD.AttachTo("Products", p);
productosBD.SaveChanges();
が、決して...
は、誰かがどのように私はモデル層内のエンティティを更新することができますを教えてもらえ?? 2と3がはるかに似ていますが、事前に
おかげ
私はModelBinderがASP.NET MVC 1で同じことをしたと思います。 – Omar
MVC 1は使用しませんでしたが、MVC 1で見たすべての例ではUpdateModelが使用されています。 – Aliostad
私はObjectStateManager.ChangeObjectState(p、System.Data.EntityState.Modified)を呼び出す必要があります。 EntityStateを変更するように設定します。そこでこれをモデルレイヤーに追加し、上記のようにコントローラーを変更しましたが、これはObjectStateManager.ChangeObjectStateの行のEdit.aspxビューにNullReferenceExceptionを表示しています。何が起こっているの任意のアイデア? – Msam85