10

I have my asp.net mvc 3 application with entity framework and i used the Database First model to set it up.

My Steps below: 1. Genarated a database with tables 2. Created ADO.NET Entity Data Model file (.edmx) and imported the tables 3. inside the design i added a Code Generation item and used ADO.NET DbContext Generator 4. a Model1.tt holder as been made with all of the tables Models

I have edited the models and updated them with DataAnnotations Attributes (just for the example a well known one)

public class LogOnModel
{
    [Required]
    [Display(Name = "User name")]
    public string UserName { get; set; }

    [Required]
    [DataType(DataType.Password)]
    [Display(Name = "Password")]
    public string Password { get; set; }

    [Display(Name = "Remember me?")]
    public bool RememberMe { get; set; }
}

Now when im making changes to the database and updating it to the edmx file all the models will be overwritten and the DataAnnotations Attributes will disapear.

my question: how can i use database first model and still edit the models for speciific validation like im free to do with code first model? (please no third party tools solution) thanks

Faiz
  • 5,331
  • 10
  • 45
  • 57
python
  • 2,677
  • 3
  • 17
  • 15

2 Answers2

10

You need to use buddy classes. See my dated but still useful article http://msdn.microsoft.com/en-us/library/ee256141(v=vs.98).aspx

RickAndMSFT
  • 20,912
  • 8
  • 60
  • 78
  • 4
    This link helped me a lot hope it will do the same for someone else http://www.asp.net/mvc/overview/getting-started/database-first-development/enhancing-data-validation – You Rule Avi Jun 18 '15 at 14:50
1

Use ViewModels in your Views. This will decouple your EF entities from your UI logic.

jrummell
  • 42,637
  • 17
  • 112
  • 171