NerdDinner MVCアプリケーションを作成する方法をScott Hanselmanの書籍で説明しています。Visual Studioまたはプラグインに、バディークラスの検証を自動化するためのツールがありますか?
エンティティデータモデルウィザードによって生成されたエンティティタイプディナーを検証するために、彼は部分クラスのトリックを使用して最初にエンティティディナーを拡張し、次にバディクラスをディナーに関連付けるようにしました。
詳細については、次のコードを参照してください。
using System.ComponentModel.DataAnnotations;
namespace NerdDinner.Models
{
[MetadataType(typeof(DinnerValidation))]
public partial class Dinner { }
public class DinnerValidation
{
[Required(ErrorMessage = "Title is required")]
[StringLength(50, ErrorMessage = "Title may not be longer than 50 characters")]
public string Title { get; set; }
[Required(ErrorMessage = "Description is required")]
[StringLength(256, ErrorMessage = "Description may not be longer than 256 characters")]
public string Description { get; set; }
[Required(ErrorMessage = "Addresss is required")]
public string Address { get; set; }
[Required(ErrorMessage = "Country is required")]
public string Country { get; set; }
[Required(ErrorMessage = "Contact phone is required")]
public string ContactPhone { get; set; }
}
}
私の質問は
でディナーにバディクラスを作成して関連付ける「便利」な方法はありますか?つまり、Visual Studioやプラグインでツールを使用してバディクラスを作成し、バディとディナーを自動的に関連付けることができます。もちろん、私のニーズに合わせて生成されたコードを調整する必要がありますが、それは大きな問題ではありません。
編集1: 私はいくつかの追加情報を追加します。エンティティデータモデルウィザードは、データベーススキーマに基づいてスキーマ検証を作成するため役立ちます。たとえば、DinnerIdプロパティは、int型のDinnerID列の型と一致するように、デフォルトでInt32に設定されます。
.ttファイルをカスタマイズする方法に関する良いチュートリアルはありますか?私はこの高度な方法を行うことを考えていない。 – xport
私の頭の中から分からない...少しの研究をすることでさらに推測するのに役立つでしょう...そしてちょっと実験するとあなたが学ぶのを助けるでしょう、私はT4のテンプレートをいくつか変更しました。エラーと私の構造化された心capabillitiesを使用する;) –