我有一些实体框架不支持的设计要求,但很容易通过简单的SQL查询来满足。
Essentially I need to do an insert that sets an Identity value.
制作一个可以插入然后让EF调用sproc的sproc有缺点吗?
我是否需要担心缓存问题? (因为我将更新数据"在EF'后面"。)
是否存在并发问题?
还有什么我需要担心的吗?
答案 0 :(得分:1)
如果你没有保留你的数据库上下文,即你在每个工作单元之后处理它应该工作得很好(这涵盖了大多数网络场景) - 除非你同时在同一个表上操作 - 如果是这样的话您可能希望使用锁来同步SQL和EF查询,或者捕获EF抛出的OptimisticConcurrencyException
。
另一方面,如果确实保留了上下文,请确保使用RefreshMode.StoreWins
刷新它。