Created
August 22, 2013 10:23
-
-
Save csharpforevermore/6305607 to your computer and use it in GitHub Desktop.
An example model class for Entity Framework using code first
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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