モデルを含む既存のデータ アクセス レイヤー (クラス ライブラリ) を使用したソリューションがあります。このライブラリを呼び出して、ストアド プロシージャを使用して db で crud 操作を行う Web フォーム アプリケーションがあります。この Web フォーム アプリケーションを MVC 3 アプリケーションに変換したい場合、移行のための私のアプローチはどうあるべきでしょうか。エンティティ フレームワークを使用したくありません。同じライブラリが Web サービス プロジェクトで使用されているため、モデルとモデルの操作にデータアクセス レイヤーを引き続き使用したいと考えています。任意のポインター。
質問する
173 次
1 に答える
3
Sure View Models は、ビューとの間でデータをビジネス/データ レイヤーに移動するためのものです。データ レイヤーにモデルが既に定義されている場合は、ビュー モデルにデータ モデルを継承させるか、ビューに直接使用させることができます。
継承してから、ビュー モデルで新しいプロパティを使用して、基になる (継承された) プロパティを設定することをお勧めします。このようにして、新しいプロパティに検証属性を追加し、継承されたプロパティを設定してデータベースを更新する前に、クライアントとサーバーで検証を実施できます。
例として、データレイヤーに次のものがあるとします。
public class Person
{
public string Name {get; set;}
public string Email {get; set;}
}
次に、View Model で以下を使用できます。
public class VPerson : Person
{
[Required(ErrorMessage = "Name is required.")]
[StringLength(50, ErrorMessage = "Name cannot be longer than 50 characters.")]
public string VName { get; set; }
[Required(ErrorMessage = "Email is required.")]
[RegularExpression(Settings.EmailRegex, ErrorMessage = "Email Address is not valid.")]
[StringLength(50, ErrorMessage = "Email cannot be longer than 50 characters.")]
public string VEmail { get; set; }
public void SavePerson()
{
Name = VName;
Email = VEmail;
// update the DB
}
}
検証を必要としないプロパティ (つまり、ドロップダウン リスト) は、直接使用できます。
実際には継承する必要はなく、SavePerson でデータ レイヤーを呼び出すだけでかまいません。
于 2013-01-09T02:14:01.407 に答える