Member 13039327 Ответов: 1

Могу ли я изменить базу данных с помощью существующей программы linq?


Дорогие все,

Я много читаю о Linq, но есть некоторые части, которые я не могу понять. Может ли кто-нибудь помочь мне ответить на эти вопросы?

Допустим, у меня есть проект Linq to SQL и я подключил к нему базу данных Access. Но со временем мне нужно будет перейти на базу данных SQL server или MySql. Нужно ли мне тогда только настроить строку подключения к новой базе данных или мне нужно переписать весь проект?

Кроме того, возможно ли иметь соединения с 2 или более различными базами данных (скорее одинаковыми или разными типами баз данных) в 1 проекте?

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

спасибо,
Ганс

Что я уже пробовал:

Я искал в интернете, чтобы попытаться найти ответы, но не повезло sofar.

1 Ответов

Рейтинг:
2

RickZeeland

Один ОЗР (Object Relational Mapper) помогает сделать ваш код не зависящим от базы данных.
Взгляните на свободный Частое достопримечательностей: платформы-для-С[^]

Если вы не хотите использовать ORM, прочтите это: Не жесткий код DataProviders[^]
Поскольку это более старая статья, в ней нет упоминания о LINQ, но я думаю, что эти принципы все еще могут быть полезны в наши дни.

О термине база данных-агностик:

Цитата:
База данных-агностик-это термин, описывающий способность программного обеспечения функционировать с любой системой управления базами данных (СУБД) поставщика.
Видеть: Что такое база данных-агностик? - Определение от WhatIs.com[^]


Member 13039327

Здравствуйте RickZeeland,

Спасибо за ответ. Но извините, я не совсем понимаю, что вы имеете в виду под агностиком базы данных. Вы имеете в виду, что когда я использую ORM, я могу прикрепить к нему любую базу данных, не меняя никакой кодировки (кроме, может быть, строки подключения) ??

Итак, если я создаю проект с помощью ORM и использую базу данных Access, а затем хочу перейти к использованию базы данных SQLServer, мне нужно только изменить строку подключения?

А также Спасибо за ссылку, не нужно жестко кодировать свой dataProvider. Но речь идет не о Linq, поэтому я не уверен, как это происходит в Linq. Если код остается неизменным, то независимо от типа базы данных.

С уважением,
Ганс