powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF + MySQL and MultiThreading
4 сообщений из 4, страница 1 из 1
EF + MySQL and MultiThreading
    #36894652
nons111ww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
    public abstract class JiraDbAction
    {
        public abstract void CollectData();

        public abstract event EventHandler OnDataAvaliable;

        public JiraDbAction(string connStr)
        {
            ConnString = connStr;
        }

        public string ConnString
        {
            get;
            private set;
        }
    }




Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
    public class GetProjectsAction : JiraDbAction
    {
        private string _user;

        public GetProjectsAction(string connString, string user)
            : base(connString)
        {
            _user = user;
        }

        public override void CollectData()
        {
            using (jiradbEntities ctx = new jiradbEntities(ConnString))
            {
                Projects = ctx.projects.Where(x => x.LEAD == _user).ToList();
            }

            if (OnDataAvaliable != null)
                OnDataAvaliable.Invoke(this, EventArgs.Empty);
        }

        public override event EventHandler OnDataAvaliable;

        public List<project> Projects
        {
            get;
            set;
        }
    }



Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
    public class JiraWrapper
    {
        private List<JiraDbAction> operations;
        private int _operationsFinished;

        public void AddOperation(JiraDbAction jiraDbAction)
        {
            if (operations == null) operations = new List<JiraDbAction>();

            operations.Add(jiraDbAction);
        }

        public void Execute()
        {
            _operationsFinished = 0;

            foreach (var operation in operations)
            {
                operation.OnDataAvaliable += new EventHandler(operation_OnDataAvaliable);

                Thread operationThread = new Thread(new ThreadStart(operation.CollectData));
                operationThread.Start();
            }
        }

        void operation_OnDataAvaliable(object sender, EventArgs e)
        {
            _operationsFinished++;

            if (_operationsFinished == operations.Count && OnDataAvaliable != null)
                OnDataAvaliable.Invoke(this, EventArgs.Empty);
        }

        public event EventHandler OnDataAvaliable;
     }





Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
    [TestClass]
    public class JiraTest
    {
        public string cs = "metadata=res://*/JiraModel.csdl|res://*/JiraModel.ssdl|res://*/JiraModel.msl;provider=MySql.Data.MySqlClient;provider connection string=\"server=localhost;User Id=root;database=jiradb;password=root;Persist Security Info=True\"";

        [TestMethod]
        public void GetJiraProjects()
        {
            GetProjectsAction action1 = new GetProjectsAction(cs, "admin");
            //GetProjectsAction action2 = new GetProjectsAction(cs, "admin");


            JiraWrapper jiraWrapper = new JiraWrapper();

            jiraWrapper.OnDataAvaliable += new EventHandler(jiraWrapper_OnDataAvaliable);

            jiraWrapper.AddOperation(action1);
            //jiraWrapper.AddOperation(action2);

            jiraWrapper.Execute();
            
        }

        void jiraWrapper_OnDataAvaliable(object sender, EventArgs e)
        {
            
        }
    }




всем привет. вот такая проблема: весь этот код падает при создании датаконтекста EF.
An error occurred creating the configuration section for system.data: Thread was being aborted.

мб кто сталкивался?
...
Рейтинг: 0 / 0
EF + MySQL and MultiThreading
    #36894658
Фотография МСУ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Костыль под жиру? :)
...
Рейтинг: 0 / 0
EF + MySQL and MultiThreading
    #36894665
nons111ww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
МСУ,

угу)
...
Рейтинг: 0 / 0
EF + MySQL and MultiThreading
    #36894681
nons111ww
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
чтобы слегка пояснить Wrapper - это обертка над действиями, который запускает каждое действие в отдельном потоке, дожидается, когда они все будут выполнены и фаерит событие. действия просто достают из базы опр инфо
...
Рейтинг: 0 / 0
4 сообщений из 4, страница 1 из 1
Форумы / ADO.NET, LINQ, Entity Framework, NHibernate, DAL, ORM [игнор отключен] [закрыт для гостей] / EF + MySQL and MultiThreading
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]