我是LINQ to SQL的新手,正在尝试创建一个通用的数据访问对象(DAO)来实现基本的Create、Read、Update和Destroy(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中有一个通用方法,可以根据实体Id检索任何实体(例如客户,发票,工单等)。提前感谢您的回复。