【发布时间】:2008-10-10 17:00:15
【问题描述】:
在使用 Linq-to-SQL 的数据库层中实现额外功能的最佳方法是什么?目前我正在考虑实现基于预设和类似任务添加信息的功能?
插入、更新和删除需要访问DataContext,而在Table 类中,您无权访问上下文。我见过使用 Singletons 的解决方案,但这似乎是一个 hack,我想知道是否有其他人遇到过这个问题,你的解决方案是什么?有没有更好的方法来实现类似的功能。
我希望将此功能添加到数据库层的原因是我有几个应用程序都使用相同的数据库对象,我希望能够从所有应用程序中使用这些功能,因此我不必重写很多代码。
这不是我的意思。我希望能够执行复杂的操作,例如根据第一个表中的信息更新一个表并将记录添加到另一个表。
假设我选择了一条客户记录,我想用信息更新它,当这种情况发生时,我希望它在“更新”表中添加另一条记录,以跟踪更新发生的时间和执行者。这当然只是一个例子。需要做的事情可能更复杂。
基本上,我想向表对象添加一个方法,以对该表中的特定行进行修改,然后对其他对象进行插入和更新。我知道你可以使用部分类,我已经广泛使用了。
例子:
db.Customers.Where(c => c.CustomerID == 5).AddOrder(orderDetails);
我觉得我真的无法用语言来表达我的问题以使其易于理解:)
【问题讨论】:
标签: .net linq linq-to-sql design-patterns