MVCでEFを使うテクニック集
10299 ワード
1.データベースからモデルを生成した後、再度モデルを更新すると、前に設定した検証ルールが失われます.
解決方法:Modelsフォルダに空白クラスを新規作成し、shujuyanzhと名前を付けます.cs(クラス名は自定可能)、そしてModelsで自動的に生成されたモデルのxxxx.ttファイル内のデータベース内のテーブルと同名のもの.csの内容はshujuyanzhにコピーする.csでは、関連する各項目にデータ・ルールを追加します.
次の例を示します.
2.Modelsフォルダに空白のクラスを新規作成します.cs(ここではクラス名は自定可能)は、自動的に生成されたクラスを削除し、以下のコードを追加します.各クラスは
これにより、データベースに基づいてモデルを更新するときに、設定した検証ルールが失われず、更新後に新しく追加するフィールドをshujuyanzhにする必要があります.csは検証ルールを追加します.メリットは明らかです.
3、コントローラとビューを追加します.
解決方法:Modelsフォルダに空白クラスを新規作成し、shujuyanzhと名前を付けます.cs(クラス名は自定可能)、そしてModelsで自動的に生成されたモデルのxxxx.ttファイル内のデータベース内のテーブルと同名のもの.csの内容はshujuyanzhにコピーする.csでは、関連する各項目にデータ・ルールを追加します.
次の例を示します.
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.ComponentModel.DataAnnotations;
namespace .Models
{
public class danganyz
{
[Required(ErrorMessage=" ")]
[StringLength(10)]
[Display(Name = " ")]
public string { get; set; }
[Required(ErrorMessage=" ")]
[StringLength(100)]
[Display(Name = " ")]
public string { get; set; }
[Required(ErrorMessage=" ")]
[Range(1,500)]
[Display(Name = " ")]
public int { get; set; }
[Required(ErrorMessage=" ")]
[Range(0, 50)]
[Display(Name = " ")]
public int { get; set; }
[Required(ErrorMessage=" ")]
[Range(0, 50)]
[Display(Name = " ")]
public int { get; set; }
[Required(ErrorMessage=" ")]
[StringLength(20)]
[Display(Name = " ")]
public string { get; set; }
[Required(ErrorMessage=" ")]
[Display(Name=" ")]
public System.DateTime { get; set; }
[Required(ErrorMessage=" ")]
[StringLength(10)]
[Display(Name = " ")]
public string { get; set; }
[Required(ErrorMessage=" ")]
[StringLength(10)]
[Display(Name = " ")]
public string { get; set; }
[Required(ErrorMessage=" ")]
[StringLength(10)]
[Display(Name = " ")]
public string { get; set; }
[StringLength(255)]
[Display(Name = " ")]
public string { get; set; }
}
}
2.Modelsフォルダに空白のクラスを新規作成します.cs(ここではクラス名は自定可能)は、自動的に生成されたクラスを削除し、以下のコードを追加します.各クラスは
partial
クラスとマークされていることに注意してください.using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace .Models
{
[MetadataType(typeof(danganyz))]
public partial class dangan { }
}
これにより、データベースに基づいてモデルを更新するときに、設定した検証ルールが失われず、更新後に新しく追加するフィールドをshujuyanzhにする必要があります.csは検証ルールを追加します.メリットは明らかです.
3、コントローラとビューを追加します.