c# - 通过 ADO.NET Entity Framework 使用静态数据访问方法

标签 c# ado.net linq-to-entities thread-safety

您好,我是第一次使用 ADO.NET Entity Framework ,静态代码分析建议我将以下方法更改为静态方法,如下所示。

我的问题很简单,这个线程安全吗?

public static void InsertUserDetails(UserAccount userAccount)
        {
            using (KnowledgeShareEntities entities = new KnowledgeShareEntities())
            {
                Users user = new Users();
                user.usr_firstname = userAccount.FirstName;
                user.usr_surname = userAccount.LastName;
                user.usr_email = userAccount.Contact.Email;
                user.usr_logon_name = userAccount.SAMUserAccountName.ToUpper();
                user.usr_last_login_datetime = DateTime.Now;
                entities.AddToUsers(user);
                entities.SaveChanges();
            }
        }

最佳答案

由于您仅使用局部变量,因此该方法是线程安全的。不涉及静态变量,因此所有内容都在线程本地堆栈上,不会出现竞争条件。

关于c# - 通过 ADO.NET Entity Framework 使用静态数据访问方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1721811/

相关文章:

c# - 为什么使用 ASP.NET 验证器进行验证?

c# - 使用传入的参数作为搜索字段使用 Entity Framework Web API 创建动态搜索查询

c# - 使用 Linq 遍历层次结构表

c# - 如何获取整个强类型DataRow的原始值?

c# - 使用 SqlBulkCopy 时提供流作为二进制列的数据源

asp.net - 通过 sql 跟踪确定存储过程中的事务级别

azure - Cosmos 查询获取列表中的项目

c# - 管理一次性类依赖注入(inject)

c# - lambda 表达式 C#

c# - 将对象图添加到 DbContext