Skip to content

Instantly share code, notes, and snippets.

@csharpforevermore
Created August 22, 2013 10:23
Show Gist options
  • Save csharpforevermore/6305607 to your computer and use it in GitHub Desktop.
Save csharpforevermore/6305607 to your computer and use it in GitHub Desktop.
An example model class for Entity Framework using code first
using System.Collections.Generic;
using System.ComponentModel;
using System.ComponentModel.DataAnnotations;
using System.Web.Mvc;
namespace Website.Models.EntityFrameworkCodeFirst
{
public class Entry
{
[Key]
public int Id { get; set; }
[Required]
public string Name { get; set; }
[Required]
[RegularExpression(@"(?i)\b[A-Z0-9._%+-]+@(?:[A-Z0-9-]+\.)+[A-Z]{2,4}\b", ErrorMessage = "Invalid email address")]
[DisplayName("E-mail address")]
public string Email { get; set; }
[Required]
[DisplayName("House name or number")]
public string HouseNameNumber { get; set; }
[Required]
[DisplayName("Address line 1")]
public string Address1 { get; set; }
[DisplayName("Address line 2")]
public string Address2 { get; set; }
[Required]
[DisplayName("City / Town")]
public string CityTown { get; set; }
[Required]
[DisplayName("Postcode")]
public string PostCode { get; set; }
[Required]
[DisplayName("Image")]
public string Image { get; set; }
[DisplayName("T&C accepted?")]
[BooleanMustBeTrue(ErrorMessage = "*")]
public bool IsAgreed { get; set; }
[Required]
[DisplayName("Date entered")]
public System.DateTime DateLogged { get; set; }
public virtual Status Status { get; set; }
public IEnumerable<SelectListItem> Statuses { get; set; }
}
public class BooleanMustBeTrueAttribute : ValidationAttribute
{
public override bool IsValid(object propertyValue)
{
return propertyValue is bool
&& (bool) propertyValue;
}
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment