2016-01-03 7 views
9

मैं अपने डोमेन मॉडल वर्ग पर मेटाडाटा टाइप प्रकार का उपयोग कर रहा हूं। यह संदर्भित वर्ग से गुण जानकारी को कक्षा में स्थानांतरित करना चाहता है जिसे मेटाडेटा टाइप विशेषता सेट की गई है। लेकिन यह विज्ञापित के रूप में नहीं करता है। इस मुद्दे को यहां क्या कारण है?एएसपी.नेट कोर मेटाडाटा टाइप प्रकार काम नहीं कर रहा

[MetadataType(typeof(ComponentModelMetaData))] 
public partial class Component 
{ 
    public int Id { get; set; } 
    public string Name { get; set; } 
    public ICollection<Repo> Repos { get; set; } 
    public string Description { get; set; } 
} 


public class ComponentModelMetaData 
{ 
    [Required(ErrorMessage = "Name is required.")] 
    [StringLength(30, MinimumLength = 3, ErrorMessage = "Name length should be more than 3 symbols.")] 
    public string Name { get; set; } 
    public ICollection<Repo> Repos { get; set; } 
    [Required(ErrorMessage = "Description is required.")] 
    public string Description { get; set; }   
} 

उत्तर

17

ASP.NET कोर

Microsoft.AspNetCore.Mvc.Core.**ModelMetadataType** 
बजाय

System.ComponentModel.DataAnnotations.**MetadataType** 
का उपयोग करता

source

च के लिए मेरे गहरे धन्यवाद [ModelMetadataType(typeof(ComponentModelMetaData))]

+2

करने के लिए अपने गुण बदलने का प्रयास करें .NET कोर 1.0 के लिए Microsoft.AspNetCore.Mvc.ModelMetadataTypeAttribute को इंगित करना ... अलग-अलग नाम, अलग-अलग नामस्थान ... खोजने में मुश्किल नहीं है। वैसे भी, यह सही जवाब है, क्योंकि आंशिक वर्ग घटक मॉडल घोषणा प्रतीत होता है। मैं इसे नामित आंशिक वर्ग का उपयोग करना पसंद करता हूं और उसी लॉजिकल नेमस्पेस में मॉडल के रूप में मान्य करने के लिए मॉडल और मॉडल के मेटाडेटा की टिप्पणियां लागू करना पसंद करता हूं। इस तरह, अगर मैं डेटाबेस से मॉडल को पुन: उत्पन्न करता हूं, तो मैं अपने संपादन खोना नहीं चाहता हूं। – Gopher

संबंधित मुद्दे