私は、データベースの最初のアプローチでEntity Frameworkをして働いています。私はすでに自分のアプリケーション内でモデルを定義しました。今私はコントローラとビューを扱っています。私はコントローラを作成するために足場を使用しました。今私は行を作成したい。ASP.NET MVCエンティティフレームワーク:データ注釈
のは、私は従業員を作成したいとしましょう、とのは、DBAとEFはこれを可能にしたとしましょう:
public partial class TBL_EMPLOYEE
{
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2214:DoNotCallOverridableMethodsInConstructors")]
public TBL_EMPLOYEE()
{
this.TBL_EMPLOYEE = new HashSet<TBL_EMPLOYEE>();
}
public int EMPLOYEE_ID { get; set; }
public String CO_WORKER_NUMBER { get; set; }
public string NAME { get; set; }
public string LAST_NAME { get; set; }
public string SALARY { get; set; }
public string PHONE_NUMBER { get; set; }
public string EMAIL { get; set; }
public string { get; set; }
[System.Diagnostics.CodeAnalysis.SuppressMessage("Microsoft.Usage", "CA2227:CollectionPropertiesShouldBeReadOnly")]
}
さて、私はのは1 VIEWこのビューを呼び出してみましょう、従業員を作成するためのビューを必要としますこのビューでは、ユーザーは名前だけと姓の値を指定する必要があります。どちらも必須です。
さて、私は同じクラスで、以下のデータ注釈属性を使用することができ、このVIEW 1場合には、それはなるだろう:
[Required]
public string NAME { get; set; }
[Required]
public string LAST_NAME { get; set; }
それでは、次の場合に行きましょう。私はのはこの1つで2 このVIEWを呼ぶことにしましょう、ユーザーはすべての属性のすべての値を指定する必要があり、別のビューを必要としています。名前と姓を除いてすべてが必要です。
REAL QUESTION
どのように私は両方のビューで同じモデルクラスを使用することができますか?ここで上記の例では、ビット愚かと些細な検証を見えるかもしれないが、私は実体が大きくあり、異なるのViewModelクラスを持つことのアイデアはちょうどそんなに仕事で大きなプロジェクトにしてきました。
私は、ユーザーが入力し、その検証に必要なものと特定するために、ビューごとのViewModelクラスを作成しなければならなかったポイントに、私の.NET開発では、このつまずいてきました。これが唯一の方法ですか?
ビューごとに異なるビューモデルを作成することができます。 – Shyju
部分クラスではなく、別の[ビューモデル](http://stackoverflow.com/questions/11064316/what-is-viewmodel-in-mvc)を使用してください。 –
@StephenMueckeはい、私はそれが唯一の方法だと思います。私は思っていた、別の方法があるかもしれない。しかし、それには多くの時間がかかります。たとえば、PHP Laravelと違うのは、Employeeモデルの形式に関係なく、すべてのオブジェクトを検証するときです – ggderas