2011-01-28 13 views
0

私はMVCが新しく、MVCプロジェクトの自動生成エンティティでビジネスロジックを実装する方法を理解しようとしています。Microsoft MVC2の自動生成エンティティでビジネスロジックを実装するにはどうすればよいですか?

私自身のModelクラスを作成すると、フィールドに[Required]と他の属性を入れることができますが、.edmxファイルではそれを行うオプションがないようです。

ここに何か不足していますか?

エンティティを使用する独自のクラスを作成する必要がありますか、ロジックをそこに配置する必要がありますか? 私は仕事を少なくする方法があるようです。

ありがとうございます!

+0

ここをクリックしてください:http://stackoverflow.com/questions/4619609/what-is-the-best-way-to-add-attributes-to-auto-generatedentity-using-vs2010 – Lazarus

答えて

2

これは、.NETでのバディークラスの機能を使用することで実現できます。 .ebmxファイルにエンティティを作成したら、ビジネスクラスを定義するエンティティに付随する部分クラスを作成して、「バディクラス」で作成することができます。上記の例では

[MetadataType(typeof(ProductMetadata))] 
public partial class Product { 

    internal sealed class ProductMetadata { 
     [DisplayName("Name")] 
     [Required] 
     public string Name { get; set; } 

     [DispayName("Price")] 
     [Required, Range(1,10000)] 
     public decimal Price { get; set; } 

     [DisplayName("Description")] 
     public string Description { get; set; } 
    } 
} 

は、すでに「名前」、「価格」、および「説明」のプロパティを持つオブジェクト・コンテキストで定義された「製品」タイプを持っていることを前提としています。 MetadataTypeAttributeで参照されるバディクラスタイプが一致するプロパティ名を持つ限り、バディクラスのプロパティに適用される属性は実装タイプに適用されます。

注:バディークラスに実装タイプと一致しないプロパティー名がある場合は、ランタイムエラーが発生します。ビジネスルールを適用するプロパティのバディークラスで一致するプロパティを作成するだけで済みます。すべてのプロパティはオプションです。

+0

優秀まさに私が探していたものです。 –

関連する問題