Пользовательский ORM в .NET - PullRequest
       0

Пользовательский ORM в .NET

2 голосов
/ 26 августа 2010

Я хочу вызывать только хранимые процедуры в базе данных и заполнять мой объект C # в соответствии с результатом.Мне просто нужен файл сопоставления и быстрый инструмент отражения, такой как Fasterflect , найденный в CodePlex для создания моего собственного ORM.

Есть ли какой-либо ORM, доступный с этими функциями для C #, который имеет молниеносную производительность?или что я должен сделать, чтобы завершить описанный выше сценарий с точки зрения сопоставления объектов базы данных ??

Ответы [ 2 ]

3 голосов
/ 26 августа 2010

Существует несколько реализаций .NET ORM.

Фреймворк уже имеет два, Linq to Sql и Entity Framework. На какую базу данных вы нацеливаетесь?

Если вы ищете реализации с открытым исходным кодом, проверьте

NHibernate

Я бы на самом деле не пытался создать его самостоятельно, если у вас не будет достаточно времени! Большинство ORM имеют огромный список функций.

Я использовал продукт под названием LightSpeed ​​ из Mindscape . Он поддерживает несколько rdbms, имеет фантастический дизайнер, превосходные возможности linq и обеспечивает отличную производительность.

0 голосов
/ 26 февраля 2017

Если вам нужна скорость быстрого чтения, используйте EF6.x и убедитесь, что вы используете AsNoTracking, а также что вы сначала задаете некоторые дополнительные значения.Это сделает его очень быстрым ... но за ту цену, которая поддерживает только чтение, поэтому не нужно обнаруживать изменения и обновлять данные.Это сделает EF6x в 5 раз быстрее, чем его поведение по умолчанию, см. this .

Также убедитесь, что вы используете представления базы данных, индексы, чтобы добавить дополнительные скорости ко всем выборам.Но лучший совет: всегда проверяйте, какой код отправляется в базу данных со слоя ORM, выполняйте активную загрузку, используйте проекции IQuery, ...

NHibernate также является хорошим инструментом.Я использую его для своей модели предметной области, где я обрабатываю все изменения.

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