Ciao a tutti, sto provando ad usare l' entity data model per leggere/scrivere i dati del mio database.
Sono riuscito ad usarlo, riesco sia a leggere che a scrivere, ma il mio problema nasce durante la validazione dei dati. Vorrei usare le DataAnnotations per evitare di riscrivere diverse volte dei controlli.
Ho seguito questo articolo
http://msdn.microsoft.com/it-it/library/ee256141.aspx ma non sono riuscito a far funzionare la validazione.
La classe è definita in due file:
using System.ComponentModel.DataAnnotations;
namespace MvcApp.Model
{
[MetadataType(typeof(contactsMD))]
public partial class contacts
{
public class contactsMD
{
[StringLength(10,ErrorMessage="Al max 10 char")]
public object nome;
}
}
}
e il file generato dal componente:
public partial class contacts : global::System.Data.Objects.DataClasses.EntityObject
{}
[global::System.Data.Objects.DataClasses.EdmScalarPropertyAttribute(IsNullable=false)]
[global::System.Runtime.Serialization.DataMemberAttribute()]
public string nome
{
get
{
return this._nome;
}
set
{
this.OnnomeChanging(value);
this.ReportPropertyChanging("nome");
this._nome = global::System.Data.Objects.DataClasses.StructuralObject.SetValidValue(value, false);
this.ReportPropertyChanged("nome");
this.OnnomeChanged();
}
}
Nel secondo file ho messo le dichiarazioni della classe e quelle dell' attributo.
Mi sembra di aver seguito l' esempio del sito, come mai la validazione per la lunghezza della stringa del primo file non viene effettuata?