Qual è il modo migliore di utilizzare le annotazioni di dati per la convalida se sto utilizzando un primo approccio al database di Entity Framework (v5.0)?Annotazioni di dati con Entity Framework 5.0 (primo database)
Questa è la mia classe parziale creato da 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>
//------------------------------------------------------------------------------
using System.ComponentModel.DataAnnotations;
namespace ACore
{
using System;
using System.Collections.Generic;
public partial class PayrollMarkup_State
{
[UIHint("StatesEditor")] // <-- I added this line but it will be overwritten
public string State { get; set; }
public Nullable<float> MaintenancePercentage { get; set; }
public Nullable<float> OfficePercentage { get; set; }
}
}
ho provato questo senza successo ....
Entity Framework file generato: '' PayrollMarkup_State.cs
//------------------------------------------------------------------------------
// <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>
//------------------------------------------------------------------------------
using System.ComponentModel.DataAnnotations;
namespace ACore
{
using System;
using System.Collections.Generic;
public partial class PayrollMarkup_State
{
public string State { get; set; }
public Nullable<float> MaintenancePercentage { get; set; }
public Nullable<float> OfficePercentage { get; set; }
}
}
Ho quindi creato questo file in una directory diversa: "PayrollMarkup_state.cs"
using System;
using System.Collections.Generic;
using System.ComponentModel.DataAnnotations;
using System.Linq;
using System.Web;
namespace ACore.Models
{
[MetadataType(typeof(PayrollMarkupMetadata))]
public partial class PayrollMarkup_State
{
}
public class PayrollMarkupMetadata
{
[UIHint("StatesEditor")]
public string State; // Has to have the same type and name as your model
}
}
Funziona davvero se si dichiara un campo invece di una proprietà nella tua classe di metadati? – JYL
@JYL sì, non guarda se si tratta di un campo o di una proprietà, è solo un meccanismo indiretto. "Trova questa cosa in quell'altra classe con questo tipo e nome e applica questi attributi ad essa." – GalacticCowboy
Ok grazie! +1. – JYL