0

I have 2 tables in my DB: Students and StudentsHistory. The idea is that every change in the Students table must create a new record in the StudentsHistory table (e.g. when I edit a student, 2 operations must be performed: UPDATE on Students and INSERT on StudentsHistory).

How can I do this with Entity Framework 4.1 Code-First without creating 2 classes and having them mapped? I want to have only Student class and somehow tell EF to save the Student object to 2 tables.

Anyone can help?

PS It should be done in code, not using SQL triggers or something.

Darmak
  • 905
  • 2
  • 11
  • 16

2 Answers2

0

It is not possible. You must create two classes, map them and handle creation in your business logic. The auto magic you are looking for can be performed only by database triggers.

Ladislav Mrnka
  • 360,892
  • 59
  • 660
  • 670
  • Even though those tables have identical columns? StudentsHistory has 1 extra column: foreign key to Students. – Darmak Sep 27 '11 at 07:58
0

Like Ladislav said, you cannot map 2 tables to one entity. You may want to think about creating an audit for student history.

DDiVita
  • 4,225
  • 5
  • 63
  • 117