Это может быть проблема в отношении дженериков и / или рефлексии ... но я думаю, кто-то более опытный, чем я могу сказать.
Итак, у меня есть класс DataContext, сгенерированный SQLMetal.exe.
Помимо генерации всех сущностей из базы данных, он также дает мне частичную функцию для вставки, обновления и удаления каждой сущности.
Что я заметил, так это то, что все эти функции выглядят практически одинаково. Например, Insert проверяет, что первичный ключ (int) равен нулю. Если это так, он вызывает «InsertOnSubmit» для данной таблицы в DataContext, а затем вызывает SubmitChanges.
Таким образом, переменные - это поле первичного ключа и тип. Кроме этого, они одинаковы. Можно ли сделать это более общим, чтобы я мог написать только одну функцию вставки, обновления и удаления?
Спасибо.
Редактировать : Когда я говорю о функциях, я также имею в виду методы. Разве они не имеют в виду одно и то же? Кроме того, я хочу три отдельные универсальные функции. Вставить, обновить и удалить.