Я новичок в LINQ to SQL и пытаюсь создать общий объект доступа к данным (DAO) для основных методов создания, чтения, обновления и уничтожения (CRUD), чтобы я мог повторно использовать код. Мне удалось создать универсальный метод, который удалит любую сущность с помощью приведенного ниже кода, но мне было интересно, знает ли кто-нибудь, как создать универсальный метод, который будет выбирать любую сущность по общему полю Id, которое существует во всех таблицах.
/// <summary>
/// Generic method that deletes an entity of any type using LINQ
/// </summary>
/// <param name="entity"></param>
/// <returns>bool indicating whether or not operation was successful</returns>
public bool deleteEntity(Object entity)
{
try
{
DomainClassesDataContext db = new DomainClassesDataContext();
db.GetTable(entity.GetType()).Attach(entity);
db.GetTable(entity.GetType()).DeleteOnSubmit(entity);
db.SubmitChanges();
return true;
}
catch(Exception ex)
{
Console.WriteLine(ex.StackTrace);
return false;
}
}
Я почти уверен, что тот же шаблон будет работать для обновления и вставки, и хотел бы иметь общий метод в GenericDAO, который будет извлекать мне любую сущность (например, Клиент, Счет-фактуру, WorkOrder и т. Д.) На основе сущности Id. Заранее благодарим за ответы.