2010-09-14 1 views
2

страница MSDN для DataContext класса говорит:Является ли класс DataContext конкретным для SQL Server?

Представляет главную точку входа для LINQ к SQL базы.

Однако, похоже, что конструкторы возьмут любой ADO.NET IDBConnection. Правильно ли я считаю, что DataContext может обернуть любое соединение ADO.NET? Или есть особые вещи, которые необходимо учитывать при использовании соединения с источником данных, отличным от SQL Server?

Замечаний раздел статьи MSDN по классу DataContext сказать:

DataContext является источником всех субъектов, отображенных через соединение с базой данных. Он отслеживает изменения, сделанные вами для всех извлеченных объектов, а поддерживает «кеш-идентификатор», который гарантирует, что получаемые объекты более одного раза представлены с использованием того же экземпляра объекта.

Например, можно ли использовать DataContext для чтения и обновления базы данных SQLLite, создав DataContext с помощью System.Data.SQLite провайдера?

Это немного запутанно, потому что кажется, что все, что я вижу, написано о Linq, всегда упоминает SQL Server, но я не уверен, что это просто на примере или SQL Server - единственная база данных, которая будет работать.

ответ

2

DataContext является частью LINQ to SQL. LINQ to SQL специфичен для SQL Server.

Возможно, вам стоит изучить Entity Framework, который предназначен для поддержки нескольких баз данных.

2

В то время как DataContext (поставляется с обычным .NET) предназначен для использования с LINQ-to-SQL, существуют другие реализации, такие как DbLinq (теперь используется в Mono), который поддерживает несколько баз данных.

Пример SQLLite находится на Mono page.

+0

DbLinq - интересный. Я никогда не слышал об этом раньше. У вас есть представление о качестве DbLinq по сравнению с LINQ to SQL. Например, как это работает? Создает ли он SQL-запросы с тем же качеством, что и LINQ to SQL? Способна ли она обрабатывать сложные запросы LINQ (с использованием операторов 'Contains',' StartsWith', 'EndsWith' и операторов коллекции Contains', сложных объединений, сложных группировок, сложных объединений)? – Steven

+0

@Steven - Боюсь, я не сделал исчерпывающего сравнения. –

Смежные вопросы