2017-02-27 5 views
0

modelを生成するのにMVC 4.0entity-framework 5を使用しています。自動生成インデックスビューのカスタマイズが機能しない

私はカスタマイズの概念を理解しようとしているM、私は唯一の違いthisthis

のようなチュートリアルサイトで与えられた同じ手順に従っ私は別のサブフォルダに、このカスタマイズ・クラスのコードを追加していている直接これを追加しようとするので、 モデルフォルダには

enter image description here

(エンティティframworkによってautogenrated)すでにこの中に作成されたエラー 従業員クラスを示しています

は自動カスタマイズ

namespace CustomizationConceptUmang.Models.ViewModel 
{ 
    [MetadataType(typeof(employeeMetaData))] 
    public partial class employee 
    { 
    } 
    public class employeeMetaData 
    { 
     [Display(Name="Employee Name")] 
     public string name { get; set; } 
    } 
} 

ビュー

ためにEntity Frameworkの

//------------------------------------------------------------------------------ 
// <auto-generated> 
// This code was generated from a template. 
// 
// Manual changes to this file may cause unexpected behavior in your application. 
// Manual changes to this file will be overwritten if the code is regenerated. 
// </auto-generated> 
//------------------------------------------------------------------------------ 

namespace CustomizationConceptUmang.Models 
{ 
    using System; 
    using System.Collections.Generic; 

    public partial class employee 
    { 
     public int id { get; set; } 
     public string name { get; set; } 
     public string email { get; set; } 
    } 
} 

コードでコードを生成しましたそれでも、それは名前の代わり従業員名

を示す

はどのように事前にこの感謝を解決するために私を提案してください。

答えて

1

部分名は異なる名前空間にあるため、2つの別々のクラスであり、メタデータはemployeeエンティティに適用されません。

複数の部分クラスを1つに結合するために名前空間をマッチさせます。

とにかくEntity Frameworkモデルをビューモデルとして使用しないでください。ビューモデルのアノテーションを含む別のクラスを作成し、エンティティとのマッピングを行います。あなたは後で私に感謝します。

+0

viewmodelの名前空間から '.ViewModel'を削除します。詳細については、[MSDN:部分クラスとメソッド(C#プログラミングガイド)](https://msdn.microsoft.com/en-us/library/wa80x488.aspx)を参照してください。 – CodeCaster

関連する問題