kzen.dev
  • Вопросы
  • Метки
  • Пользователи
Оповещения
Вознаграждения
Регистрация
После регистрации, сможете получать уведомления об ответах и комментариях на Ваши вопросы.
Вход
Если у Вас уже есть аккаунт, войдите чтобы проверить новые уведомления.
Тут будут вознаграждения за добавленные вопросы, ответы и комментарий.
Дополнительно
Источник
Редактировать
Jacob Proffitt
Jacob Proffitt
Вопрос

Настраиваемые префиксы таблиц с помощью .Net OR/M?

В таких веб-приложениях, как вики, форумы или программы для ведения блогов, часто полезно хранить данные в реляционной базе данных. Поскольку многие хостинговые компании предлагают одну базу данных в рамках своих хостинг-планов (дополнительные базы данных стоят дополнительно), для пользователей очень удобно, когда объекты базы данных (таблицы, представления, ограничения и хранимые процедуры) имеют общий префикс. Обычно приложения, знающие о нехватке баз данных, имеют жестко заданный префикс таблиц. Однако я хочу большего. В частности, я хотел бы иметь префикс таблицы, который пользователи могут назначать—, скажем, в файле web.config (с соответствующим значением по умолчанию, конечно).

Поскольку я ненавижу кодировать CRUD операции вручную, я предпочитаю работать через компетентный OR/M и использовал (и наслаждался) LINQ to SQL, Subsonic, и ADO.Net. Однако в новом проекте я столкнулся с проблемой, когда нужно поместить префикс таблицы в файл web.config пользователя. Существуют ли какие-либо продукты OR/M на базе .Net, которые могут элегантно справиться с этим сценарием?

Лучшее, что я смог придумать на данный момент, это использование LINQ to SQL с внешним файлом отображения, который я должен как-то обновлять на основе пока еще гипотетического параметра web.config.

У кого-нибудь есть лучшее решение? Я пытался реализовать это в Entity Framework, но это быстро превратилось в беспорядок. (Из-за моего незнания EF? Возможно.) Как насчет SubSonic? Есть ли в нем возможность применять префикс таблиц не только во время генерации кода?

4 2008-08-14T22:32:58+00:00 3
Brian  Tompsett - 汤莱恩
Brian Tompsett - 汤莱恩
Редактировал вопрос 19-го октября 2015 в 10:15
Программирование
orm
.net
Решение / Ответ
Jacob Proffitt
Jacob Proffitt
28-го августа 2008 в 2:49
2008-08-28T14:49:41+00:00
Дополнительно
Источник
Редактировать
#8415454

Сейчас я изучил, что нужно сделать для этого в Entity Framework и LINQ to SQL и задокументировал шаги, необходимые в каждом из них. Это намного длиннее, чем обычно бывают ответы здесь, поэтому я буду довольствоваться ссылкой на ответ, а не дублировать его здесь. Каждый из них относительно прост, но LINQ to SQL является более гибким решением, а также самым простым в применении.

2
0
Andrew Peters
Andrew Peters
14-го августа 2008 в 11:04
2008-08-14T23:04:50+00:00
Дополнительно
Источник
Редактировать
#8415452

LightSpeed позволяет указать INamingStrategy, которая позволяет динамически разрешать имена таблиц во время выполнения.

1
0
 Keith
Keith
15-го августа 2008 в 8:56
2008-08-15T08:56:02+00:00
Дополнительно
Источник
Редактировать
#8415453

Вместо того, чтобы использовать префиксы таблиц, вместо этого есть пользователь приложения, который принадлежит к schema (в MS Sql 2005 или выше).

Это означает, что вместо:

select * from dbo.clientAProduct
select * from dbo.clientBroduct

Вы имеете:

select * from clientA.Product
select * from clientB.Product
Andrew Peters
Andrew Peters
Редактировал ответ 18-го мая 2012 в 9:46
1
0
Похожие сообщества 12
DotNetRuChat
DotNetRuChat
6 652 пользователей
Чат русскоязычного .NET сообщества http://dotnet.ru/ Правила: https://t.me/DotNetRuChat/704399 Вам могут быть интересны: @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @AvaloniaRU, @xamarin_russia, @DotNetRuJobs, @uwp_ru Флуд в @dotnettalks
Открыть telegram
Вакансии .NET
Вакансии .NET
3 530 пользователей
Правила: https://t.me/DotNetRuJobs/123 Канал с вакансиями - https://t.me/DotNetRuJobsFeed Вам могут быть интересны: @dotnetruchat, @cilchat, @fsharp_chat, @pro_net, @AvaloniaRU, @xamarin_russia Флуд в @dotnettalks
Открыть telegram
pro.net
pro.net
1 820 пользователей
Обсуждение .NET и всего, что с ним связано. Правила: не флудить не по теме, уважать ваших коллег и никакой рекламы (объявления о вакансиях можно согласовать с @AlexFails). https://t.me/pro_net/34653 Флудилка: @dotnettalks
Открыть telegram
var chat = new Chat();
var chat = new Chat();
1 428 пользователей
Обсуждение вопросов по .NET Правила чата – https://blog.devdigest.today/chat-rules Чат для флуда – https://t.me/+zwxI91RGG6s2YzAy
Открыть telegram
.NET Talks - День сурка
.NET Talks - День сурка
1 324 пользователей
Свободный чат .NET разработчиков. Правила: https://t.me/dotnettalks/548269 Вам могут быть интересны: @dotnetruchat, @dotnetchat, @cilchat, @fsharp_chat, @pro_net, @dotnetgroup, @xamarin_russia, @DotNetRuJobs, @uwp_ru, @AvaloniaRu, @dotnettalksenglish
Открыть telegram
Чат конференции DotNext
Чат конференции DotNext
987 пользователей
Канал конференции: @dotnext_channel Ближайшая конференция — DotNext 2022 Autumn, даты будут анонсированы позднее Билеты https://tinyurl.com/DotNext2023Autumn Саппорт: @JUGConfSupport_bot
Открыть telegram
Добавить вопрос
Категории
Все
Технологий
Культура / Отдых
Жизнь / Искусство
Наука
Профессии
Бизнес
Пользователи
Все
Новые
Популярные
1
Ilya Smirnov
Зарегистрирован 5 дней назад
2
Денис Васьков
Зарегистрирован 1 неделю назад
3
Dima Patrushev
Зарегистрирован 1 неделю назад
4
sirojidddin otaboyev
Зарегистрирован 2 недели назад
5
Елена Гайдамамакинат
Зарегистрирован 2 недели назад
ID
KO
RU
© kzen.dev 2023
Источник
stackoverflow.com
под лицензией cc by-sa 3.0 с атрибуцией