pau*_*ons 2 entity-framework linq-to-sql
在ScottGu的博客中,他展示了如何覆盖Linq to SQL类的方法,以便可以在.NET端自定义地覆盖对数据的修改.
http://weblogs.asp.net/scottgu/archive/2007/08/27/linq-to-sql-part-8-executing-custom-sql-expressions.aspx(插入/更新/删除部分的自定义SQL表达式) )
有没有办法在EF中实现相同的功能?
对于EF 3.5,除了sprocs之外,你没有其他选择.
但是对于EF 4.0,我们为被ObjectContext调用ExecuteStoreCommand(..)和相关方法等添加了一种新方法.
因此,您可以覆盖SaveChanges(),它现在是虚拟的,并且在ObjectStateManager寻找 ObjectStateEntries您感兴趣的类型,即您感兴趣的EntityState(即插入)等中间.
找到后,您可以使用新ExecuteStoreCommand()方法直接对数据库执行命令.然后通过调用AcceptChanges()在ObjectStateEntry你试图刷新更改您已经办理了数据库停止EF.
然后,您可以通过呼叫让EF为您完成其余的更改base.SaveChanges().
我知道这不太理想.但这是我能想到的最好的解决方法
亚历克斯
| 归档时间: |
|
| 查看次数: |
2328 次 |
| 最近记录: |