我是EntityFramework的新手。我面临一个非常奇怪的问题。我无法使用linq实体查询使用事务。我用于DbTransaction以及TransactionScope。只要查询命中,就会发生错误。我正在使用EF 4.3。上下文像往常一样从DbContext派生。我正在使用Code First方法。与linq交易使用实体
using (TransactionScope s = new TransactionScope())
{
using(var context = new XYZContext())
{
context.Database.Connection.Open();
Int32 count = (from xyz in context.XYZs
where xyz.Name == "SameName"
select xyz.Name).Count();
Assert.AreEqual(count, 1);
}
}
我有些疑惑。我不想使用TrasactionScope,因为我听说它有性能问题。那么,我该如何使用DbTransaction来代替(也为我抛出错误)呢? 为什么我需要明确打开连接?当我正在'上传'一个上下文时,它是否应该不会自动为我打开连接?
的可能的复制http://stackoverflow.com/questions/5222734/how-to-perform-a-transaction-with-an-entity-framework-object-context?rq=1 –
@Vaibhav:根据你的代码,我不认为你需要维护任何交易(作为一个选择语句)。 –
请将错误添加到您的问题描述! – riezebosch