2010-12-27 3 views
0

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

Я думал использовать LINQ как единственный доступ к данным (так что нет никакого ADO.net, который подходит для сценария), но я никогда этого не делал, и мне интересно, что мне действительно нужно реализовать?

Нужен ли мне IQueryable? Есть ли набор стандартных методов/интерфейсов, которые мне нужно реализовать? Есть ли стандарт для записи или мне нужно создать для него свою семантику?

+0

Есть ли у вас индексы или планы запросов или другие вещи, которые могут принести пользу IQueryable? – SLaks

+0

@SLaks Нет, это просто «SELECT field1, field2, tf3 из таблицы1 join table2 на table2.fid = table1.id, где table1.field3 = 1 order by table2.field4« тип материала (кроме него не SQL) –

ответ

3

Нужен ли мне IQueryable?

Да, здесь LINQ подключается.

Есть ли стандарт для записи данных или мне нужно, чтобы создать свою собственную семантики для него?

Ваш собственный. OTOH, который, как правило, является более легкой частью - вы обычно делаете JOIN или что-то, когда обновляете строку.

Я лично часто использую BLToolkit в эти дни (нужно что-то быстрое и легкое). У них есть объект SqlQuery, который может манипулировать классами в таблицах. GOod достаточно для большинства прямых манипуляций с db (и я не использую отслеживание изменений - большинство моих объектов никогда не меняются, а версируются в базе данных).

Поставщики LINQ довольно сложны. Как пишет механизм выполнения. Конечно, ты хочешь пойти этим путем?

2

Написание собственного провайдера linq очень сложно - я заглянул в него некоторое время назад и разочаровался ... может все еще сделать это.

См. Ответы here - связано несколько учебников.

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