При использовании LINQ-to-SQL или Entity Framework я могу легко создать класс для каждой таблицы, который принимает забота об основах CRUD:
Info info = new Info();
info.Title = "testing";
db.Infos.InsertOnSubmit(info);
db.SubmitChanges();
И когда я вношу структурные изменения в таблицу базы данных, я могу легко регенерировать класс модели таблицы (просто удалив его в конструкторе и снова перетащив таблицу в конструктор). Однако это, конечно, перезаписывает все, что было в классе.
Итак, чтобы добавить дополнительную функциональность к каждому классу, который не удаляется при регенерации модели, я обнаружил, что у меня есть дополнительный класс модели для каждой таблицы, следовательно, два уровня данных strong > по сути.
Это обычная практика или есть способ добавить к сгенерированным классам функциональные возможности, которые не перезаписываются при регенерации классов?