2011-03-10 116 views
7

有没有什么办法让Entity Framework生成带锁定选择查询:SELECT ... FOR UPDATE?实体框架写入锁定选择

+0

只是包装在交易范围内的选择和更新 – 2011-03-10 20:11:25

+2

它是不一样的。即使IsolationLevel.Serializable也会生成带*读*锁的SELECT – SiberianGuy 2011-03-10 20:14:52

回答

3

“实体框架linq select with lock”的首个搜索结果给出了你想要的答案。看看这个:http://social.msdn.microsoft.com/forums/en-US/adodotnetentityframework/thread/5219035b-aaa9-4917-b2f2-852b5d8449ea/

虽然这是一个想法。您可以创建一个存储过程,并在其中选择锁定。然后通过实体框架生成的上下文调用该存储过程。

+0

谢谢您的链接。 – SiberianGuy 2011-03-10 20:27:06

+0

为什么我需要创建一个存储过程?我只能执行原始SQL。问题是关于通过EF – SiberianGuy 2011-03-10 20:28:12

+0

生成启用写锁启用的选择那么,我会建议针对嵌入式SQL。但那是你的电话。我想我假设你正在使用LINQ to Entity,并且答案中的链接会告诉你,你不能这样做。但是,如果你将SQL嵌入到硬编码字符串中,那么你就是你自己的伙伴。 – Kon 2011-03-10 20:39:34