繁体   English   中英

尝试通过c#中的多线程从两个不同的数据库表中获取值

Trying to get values from two different table of database by multithreading in c#

提示:本站收集StackOverFlow近2千万问答,支持中英文搜索,鼠标放在语句上弹窗显示对应的参考中文或英文, 本站还提供   中文繁体   英文版本   中英对照 版本,有任何建议请联系yoyou2525@163.com。

我是多线程的新手,我试图通过多线程从两个不同的数据库表获取值,但我得到线程安全的错误。 下面是我的代码。

                object questionList = null;
                object subjectList = null;
                Thread t1 = new Thread(() => {
                    questionList = _context._Question.Where(Question => Question.Prof_ID == id && Question.Isverified == "No").ToList();
                });
                Thread t2 = new Thread(() =>
                {
                    subjectList = _context._Subjects.ToList();
                });
                t1.Start();
                t2.Start();
                t1.Join();
                t2.Join();

贝尔沃是我得到的错误。

System.InvalidOperationException: 
'A second operation started on this context before a previous operation completed. 
Any instance members are not guaranteed to be thread safe.'

为什么我收到此错误,我该如何解决它。 如何从2个不同的数据库表中获取价值? 谢谢

1 个回复

DbContext不是线程安全的,因此错误

使用async-await和.ToListAsync()对数据库进行非阻塞调用。

public async Task MyMethod() {

    //...

    questionList = await _context._Question
        .Where(Question => Question.Prof_ID == id && Question.Isverified == "No")
        .ToListAsync();

    subjectList = await _context._Subjects.ToListAsync();

}
2 C#从两个不同的网站获取价值

我正在使用HTMLElementCollection和HtmlElement来遍历网站,并使用网站HTML的Get / Set属性并将其返回到ListView 。 是否可以从网站a和网站b获取值以将其返回到ListView ? ...

4 从数据库获取字符串值而没有空值C#

在我的应用程序中,我想将两个文本框自动完成方法与mysql数据库列链接起来。 第一列具有3个值,第二列具有7个值。 像这样 我想将此列的值作为我的文本框自动完成值。但是在我调用下面的方法后,第一个文本框自动完成获取3个值,但是第二个文本框自动完成仅完成第一个3个值。 我试图使用 ...

5 如何在c#中比较表的两列的值

我在(本地数据库 c#)中有一个表,它有两列(name1 和 name2),并且我已经在两列中插入了名称。 现在我需要检查两列中是否存在任何相似的名称。 如果一个名字存在,只显示一个 MessageBox.Show("this name exist"); 我怎样才能做到这一点? 谢谢。 ...

7 如何将浮点值从MySQL数据库转换为数据表 C#

在我的数据库中,我有一列将数据另存为float 现在,我想将数据库中的此列和其他列导出到datatabel中,然后将数据表的每一列转换为一个列表。 对于希望填充浮点值的每一列,此方法都适用。 我的代码: 将数据库放入数据表: 将数据从数据表转换为列表(“Nutzfläch ...

2018-03-14 09:41:16 3 91   c#/ mysql
8 C#如何从mysql数据库表中获取行标题

先生和女士,早上好。 我计划获取所有行标题,例如“ column_id和first_name,last_name等”,并使用mysql数据库表中的行标题填充列表框。 请启发我如何做。 我不确定使用MySqlDataAdapter或MySqlDataReader。 我是初学者,愿意学习。 ...

2017-06-24 20:59:57 3 1048   c#/ mysql
9 如何从C#中的HTML表获取排序的值?

程序员大家好。 我现在花了一整天的时间阅读线程来解决此问题。 我正在从自动生成的日程表中解析HTML,6年前在此线程上讨论了相同的日程表程序: 解析复杂的HTML表 但是,这个Java / JavaScript解决方案对我不起作用。 同样,上述程序无法正常工作,我认为他们发布了该软件 ...

10 如何从C#中的表值函数获取值

我有一个必须显示的程序 事件说明(OpisDogodka) 位置(洛卡奇雅) 时间(ura)我的表值函数: 我连接到服务器的方法: 我也尝试过使用数据表和数据行。 我也不确定如何使用Date。 我知道如何使用DateTime,但是我需要将Date和Time分 ...

暂无
暂无

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

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