Будет ли linqtosql позаботиться о том, чтобы несколько потоков одновременно обращались к одной и той же таблице базы данных? - PullRequest
1 голос
/ 25 декабря 2009

Я работаю над приложением asp.net mvc. У меня есть ситуация, когда я должен сделать много потоков, которые собираются для доступа к базе данных с помощью linqtosql. Мой вопрос: будет ли нормально оставить все на linqtosql для поддержки синхронизации, потому что потоки будут одновременно обращаться к базе данных. Или я должен написать свой собственный код, чтобы сделать это.

Ответы [ 3 ]

4 голосов
/ 25 декабря 2009

Если каждый поток использует собственный контекст базы данных, у вас все будет хорошо. Однако я не верю, что объект контекста базы данных является потокобезопасным. Поэтому лучше убедиться, что каждый поток имеет свой собственный контекст.

Randy

1 голос
/ 25 декабря 2009

Я не уверен, какой тип синхронизации вы имеете в виду, но базы данных были спроектированы таким образом, чтобы несколько клиентов (потоков, процессов, машин) могли одновременно получать / читать / изменять данные. Linq2Sql - говоря очень просто - всего лишь один из механизмов, с помощью которого можно создавать операторы SELECT / DELETE / UPDATE для базы данных.

0 голосов
/ 25 декабря 2009

Если вы используете ASP.NET MVC, я бы серьезно отнесся к использованию S # arp Architecture . Он использует nHibernate, но предоставляет некоторые леса, чтобы сделать слой данных очень простым для создания и работы с ним. Он использует свободный nhibernate и AutoPersistenceModel, поэтому нет необходимости играть с файлами XML для сопоставлений. Он также включает в себя ряд очень удобных инструментов MVC.

У Linq2SQL, похоже, есть довольно серьезные недостатки, когда я пытался сделать что-то изощренное с этим, и я, вероятно, рекомендовал бы это только для очень простых сценариев. Возможно, это только я, но я наблюдал довольно уродливое поведение с L2S.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...