如果我有一个 ObjectDataSource 设置,例如:
<asp:ObjectDataSource
ID="ObjectDataSource1"
runat="server"
DataObjectTypeName="Employee"
InsertMethod="Insert"
UpdateMethod="Update"
DeleteMethod="Select"
TypeName="EmployeeDB">
</asp:ObjectDataSource>
以及具有以下方法的数据/业务对象:
public class EmployeeDB
{
public void Insert(Employee emp)
public int Update(Employee emp)
public bool Delete(int id)
}
如何让 objectdatasource 使用带有不是 Employee 对象的参数的 Delete 方法?
如果这不可能,推荐的替代架构是什么?
编辑:
为了澄清,我想在我的数据/业务对象上使用方法签名,如上所示,但是如果我尝试允许使用 DataObjectTypeName 将 Employee 对象传递给某些方法,那么我似乎失去了拥有某些方法的能力仅以整数 id 为例。
如果我不使用 DataObjectTypeName,那么我必须将所有方法参数放在 ObjectDataSource 中并更改数据/业务对象上的方法以匹配,这似乎是一个糟糕的设计选择,因为随着 Employee 对象的更改,我将不得不更新这些方法中的每一个。有更好的架构吗?