Какой ORM Выполнить: Открытый доступ telerik VS Дозвуковой VS linq к sql VS Активная Запись

Так как это было помечено с помощью NumPy, вот решение только для NumPy:

# input for positive case
C = [[2, 2, 1, 3], [2, 2, 2, 1], [3, 3, 0, 3], [0, 2, 0, 3]]
c_arr = np.array(C)  # convert to numpy array

# input for negative case
D = [[2, 2, 1, 3], [2, 2, 2, 1], [3, 3, 0, 3]]
d_arr = np.array(D)

# range to check for
n = 4

Включение всех необходимых условий внутри функции Python (как требуется OP):

def check_condition(n, arr):
     if arr.shape[0] == n and np.all(arr >= 0) \
        and np.all(arr < n) and arr.dtype == np.int:
         return True
     else:
         return False

# checking for positive case        
check_condition(n, c_arr)   # returns `True`

# checking for negative case        
check_condition(n, d_arr)   # returns `False`
8
задан Bob The Janitor 19 February 2009 в 17:35
поделиться

6 ответов

Мы в настоящее время используем SubSonic (2.0.3), и это был абсолютный спаситель. Я не могу подчеркнуть достаточно, насколько потрясающий это. ОДНАКО мы теперь смотрим на переключение далеко от него по различным причинам (вероятно, к NHibernate или Объекту). Вот мои За и против него:

Профессионалы:

  • Очень простой установить и использовать.
  • Много больших и полезных, инструментов и функций
  • Использует "конвенцию по конфигурации" философия, так очень мало конфигурации. Это "просто работает". (Как долго, поскольку Вы делаете вещи путем, это хочет... :))

Недостатки:

  • Ваше проектирование баз данных очень сильно связано с Вашим доменным дизайном. Внесите изменение в своем DB, и необходимо изменить дизайн кода/домена.
  • По умолчанию SubSonic использует шаблон ActiveRecord для всего доступа к данным вместо шаблона Репозитория, который делает более трудным "абстрагировать его далеко". (Хотя я полагаю с v3.0, что можно выгрузить шаблоны ActiveRecord по умолчанию для использования шаблона Репозитория).
  • Много пессимистических слухов, суетящихся о будущем SubSonic. Но слухи просто что: Слухи.
4
ответ дан 5 December 2019 в 11:27
поделиться

У большинства людей будет поверхностное знание опыта с один или два из тех, но у немногих будет воздействие всем. Я рекомендую усилие подтверждения концепции с каждым Вашим избранным. Разбудите каждый набор, тратить не больше, чем n часы на инструмент ORM (n = однако много времени Вы решаете, разумно.) Вы не должны реализовывать свою всю объектную модель, функциональное подмножество сделает.

К тому времени, когда Вы сделаны, Вы будете работать посредством установки и некоторого использования всех их. Можно затем описать вскрытие, и команда может решить, который имеет лучшее отношение боли к функции.

1
ответ дан 5 December 2019 в 11:27
поделиться

За все парные пенсы это может стоить:

Если у Вас нет 3 недель теперь для изучения предпочтительного ORM (какой бы ни Вы выбираете), Вам, вероятно, придется найти, что 3 недели изучают это позже, когда это не отображает что-то точно, как Вы думали, что это будет.

Если у Вас есть модель, это умеренно сложно, ORM нетривиален. Вы будете волновать необходимость знать, как Ваш ORM работает так, можно сказать этому отображать вещи путем, что Вы хотите.

Который является всем другим способом сказать, "Знают ваши инструменты", конечно.:)

3
ответ дан 5 December 2019 в 11:27
поделиться

Я очень соглашаюсь с BryCoBat (upvoted). Я хотел также добавить, что, если Вы уже владеете Открытым доступом, затем компания очень вероятно имеет людей где-нибудь внутренне, которые уже очень довольны им, включая примеры кода, на которые Вы смотрите в Вашем собственном домене и для тривиальных и для нетривиальных задач. Другими словами: используйте то, что Вы знаете.

0
ответ дан 5 December 2019 в 11:27
поделиться

Я бы сказал, что вам стоит взглянуть на DataObjects.NET ( http://www.x-tensive.com ). Это многофункциональный и довольно простой в использовании. Тем не менее, он абсолютно привязывает вас к вашей объектной модели, так как он решает, какая структура базы данных должна быть основана на том, как выглядит ваша объектная модель. При этом, если вы хотите иметь возможность игнорировать существование базы данных, это очень приятно. Мы использовали его в течение многих лет и имели большой успех.

6
ответ дан 5 December 2019 в 11:27
поделиться

Используйте шаблоны T4 для создания своих собственных. В Интернете есть несколько установленных шаблонов, доступных специально для шаблонов T4. Знание T4 также позволит вам создавать сценарии, которые могут иметь большие масштабы, чем макросы, но меньшие масштабы, чем написание пользовательского приложения для генерации нужного вам сценария. Надеюсь, это поможет!

1
ответ дан 5 December 2019 в 11:27
поделиться
Другие вопросы по тегам:

Похожие вопросы: