2009-05-12 12 views
0

にサービス層を作成し、我々は直接データベースのエンティティ(テーブル)を更新するのasp.net MVC

<%@ Page Title="Edit" Language="C#" MasterPageFile="~/Views/Shared/Site.Master" Inherits="System.Web.Mvc.ViewPage<MVCProject.Models.Preson>" %> 

のようにページを表示するモデルのエンティティを継承し、[編集]のPostメソッドは、コントローラから、最後に呼び出されますエンティティの更新LINQクラスまたはEFのsavechangesメソッド。

しかし、ユーザーは選択されたフィールドの "Preson"エンティティのみを更新することができます。残りのフィールドは自動的に設定する必要があります。

ユーザーは、自分のビューで編集可能にするために選択した値のみを持つ必要があります。エンティティはサービス層から継承する必要があります。 <MVCProject.ServiceLayer.Preson>

これはアプリケーションをタイヤに分割する最も良い方法です。

サービス層でクラスを作成し、それらをdatabasecontext(LINQクラスの場合)にマップする方法は誰でも知っていますか?

+0

マッピングについて... automapperに見えますジミー・ボガード – Haroon

答えて

0

this tutorialを調べると、MVCアプリケーションのサービスレイヤを抽象化した情報がたくさんあります。

2

、選択された値を更新

  1. はコントローラ内
  2. のviewmodelアプローチを使用することは、特定の値は、バインドさされることを可能にする(含めるまたは除外)
+0

+1 ViewModelのアプローチ。私はサービス層が本当にここであなたが望むものだとは思わない。 – UpTheCreek