繁体   English   中英

使用C#中的Entity Framework进行多次查询

[英]Multiple queries with Entity Framework in C#

我正在使用C#和EF与SQL Server数据库一起使用。

我需要一次做几个查询。 现在,我将一起执行所有操作,最后,我将调用DbContext.SaveChanges函数以一次应用所有更改。

我的问题是,如果其中一个查询有错误,则所有查询都将被取消。

我是否需要为此每个查询调用DbContext.SaveChanges

谢谢

DBcontext用作UnitOfWork。 它跟踪当前DBContext中的所有更改,并在您调用SaveChanges指出在将这些内容写入数据库时​​应该执行的操作。 换句话说,这类似于数据库事务。

我是否需要为此每个查询调用DbContext.SaveChanges?

这取决于。 您需要标识您的UnitOfWork。 在Web应用程序中,通常为“每个请求DBConstext”。 它可能不完全适合您。 标识一组数据库操作,这些操作应在一组中执行,否则应作为一组失败。 然后相应地调用SaveChanges

为每个数据库调用调用SaveChanges可能没有效率。 您将忽略ORM的其他重要功能,这些功能在这种情况下将无济于事。 花一些时间来确定您的UnitOfWork。

如果不需要事务,则需要为每个查询调用DbContext.SaveChanges。

是的,您可以在每个查询之后调用DBcontext.SaveChanges以成功运行查询。 如果您的查询之一有错误,那么剩余的工作将被保存,如果没有依赖性,请尝试在执行结束时放入错误查询。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM