Какой аргумент делает Init
? Какое новое сообщение об ошибке?
Указатели метода на C ++ немного сложны в использовании. Помимо самого указателя метода, вам также необходимо указать указатель экземпляра (в вашем случае this
). Может быть, Init
ожидает, что это будет отдельный аргумент?
На основе моего опыта LINQ к SQL является хорошим решением для проектов маленьких среднего размера. Это - ORM, который является отличным способом улучшить производительность. Это также должно дать Вам другой слой абстракции, которая позволит Вам изменять слой внизу для чего-то еще. Разработчик в Visual Studio (и я живо VS Express также) очень легок и прост использовать. Это дает Вам общее перетаскивать-отбрасывание и основанное на свойстве редактирование объектных отображений.
Jason Jackson - Разработчик действительно позволяет Вам добавить свойства вручную, однако необходимо указать атрибуты для того свойства, но Вы делаете это однажды, могло бы потребоваться 3 минуты дольше, чем начальное перетаскивание таблицы в разработчика, однако это только необходимо однажды на изменение в самой базе данных. Это не слишком отличается от другого ORMs, однако Вы корректны, что они могли сделать это намного легче, и найти только те свойства, которые изменились или даже реализуют некоторый инструмент рефакторинга для таких потребностей.
Ресурсы:
Обратите внимание, что Параллельный LINQ разрабатывается для обеспечения намного большей производительности на многоядерных машинах.
NetTiers очень хорош для генерации тяжелого и устойчивого DAL, и мы используем его внутренне для оперативных библиотек и платформ.
Поскольку я вижу его, LINQ (во всех его воплощениях, но конкретно поскольку я думаю, что Вы спрашиваете к SQL) является фантастическим для быстрого доступа к данным, и мы обычно используем его для более гибких случаев.
Обе технологии довольно негибки для изменения без регенерации кода или dbml слоя.
Однако используемый правильно LINQ 2 SQL является настоящим надежным решением, и Вы могли бы даже начать использовать его для будущей разработки из-за, он - простота использования, но я не выбросил бы Ваш текущий DAL для него - если это не, повредился...
Я пытался использовать Linq для SQL на маленьком проекте, думая, что я хотел что-то, что я мог генерировать быстро. Я столкнулся с большим количеством проблем в разработчике. Например, каждый раз, когда необходимо добавить столбец к таблице, в основном необходимо удалить и повторно добавить определение таблицы в разработчике. При установке каких-либо свойств на таблице затем, необходимо сбросить те свойства. Для меня это действительно замедлило процесс разработки.
LINQ к самому SQL хорош. Мне действительно нравится расширяемость. Если они могут улучшить разработчика, я мог бы попробовать его снова. Я думаю, что платформа извлекла бы выгоду из немного большей функциональности, нацеленной на разъединенную модель как веб-разработка.
Проверьте LINQ Scott Guthrie к серии SQL сообщений в блоге для некоторых ярких примеров того, как использовать его.
Мой опыт говорит мне, что с помощью при помощи linq можно добиться цели быстрее, однако фактические действия к базе данных медленнее.
Так..., если у Вас будет маленькая база данных, то я скажу, идут для него. В противном случае я ожидал бы некоторых улучшений перед изменением
Я использую LINQ для SQL на довольно крупном проекте прямо сейчас (приблизительно 150 таблиц), и он удается очень хорошо для меня. Последний ORM, который я использовал, был IBatis, и он работал хорошо, но взял большую работу, требующую беготни, чтобы сделать Ваши отображения. LINQ к SQL работает очень хорошо для меня и до сих пор оказался очень простым в использовании из поля. Существуют определенно некоторые различия, которые необходимо преодолеть в переходе, но я рекомендовал бы, чтобы это было использование.
Примечание стороны, я никогда не раньше или читал о NetTiers, таким образом, я не обесценю, это - эффективность, но LINQ к SQL в целом, оказалось, был чрезвычайно жизнеспособным ORM.
Наша команда использовала NetTiers и нашла это полезным. НО ... чем больше мы его использовали, тем больше у нас возникали головные боли и болевые точки. Например, каждый раз, когда вы вносите изменения в базу данных, вам необходимо заново сгенерировать DAL с помощью CodeSmith, который включал:
Может быть, есть другие способы сделать это, но это то, что мы должны были сделать. Регенер исходного кода был в порядке, страшно, но хорошо. Настоящая проблема возникла с хранимыми процедурами. Он не очищал неиспользуемые хранимые процедуры, поэтому, если вы удалили таблицу из своей схемы и заново сгенерировали DAL, хранимые процедуры для этой таблицы не были удалены. Также, это стало настоящей головной болью для сценариев изменения базы данных, где нам пришлось сравнить старую структуру базы данных с новой и создать сценарий изменения для обновления установок клиента. Этот сценарий может работать с десятками тысяч строк SQL-кода, и если возникла проблема с его выполнением, которая неизменно возникала, было довольно сложно решить ее.
Затем появился свет, NHibernate как ORM , У него, конечно, есть время нарастить, но оно того стоит. Существует масса поддержки для этого, поэтому, если вам нужно что-то сделать, скорее всего, это было сделано раньше. Он чрезвычайно гибкий и позволяет вам контролировать каждый его аспект, а затем и некоторые. Это также становится все легче и проще в использовании. Fluent Nhibernate - это отличный способ избавиться от необходимых файлов сопоставления xml, а NHibernate Profiler предоставляет отличный интерфейс для наблюдения за тем, что происходит за кулисами, для повышения эффективности и устранения избыточности.
Переход от NetTiers к NHibernate был болезненным, но в хорошем смысле. Это заставило нас перейти к лучшей архитектуре и пересмотреть функциональные потребности. NetTiers предоставили тонны кода доступа к данным, получили эту сущность по ее идентификатору, получили эту другую сущность по внешнему ключу, получили tlist и vlist того и того, но большинство из них было ненужным и неиспользованным. NHibernate с универсальным репозиторием и пользовательскими репозиториями только там, где это необходимо, сокращает тонны неиспользуемого кода и действительно повышает удобочитаемость и надежность.
происходит за кулисами для повышения эффективности и устранения избыточности.Переход с NetTiers на NHibernate был болезненным, но хорошим способом. Это заставило нас перейти к лучшей архитектуре и пересмотреть функциональные потребности. NetTiers предоставили тонны кода доступа к данным, получили эту сущность по ее идентификатору, получили эту другую сущность по внешнему ключу, получили tlist и vlist того и того, но большинство из них было ненужным и неиспользованным. NHibernate с универсальным репозиторием и пользовательскими репозиториями только там, где это необходимо, сокращает тонны неиспользуемого кода и действительно повышает удобочитаемость и надежность.
происходит за кулисами для повышения эффективности и устранения избыточности.Переход с NetTiers на NHibernate был болезненным, но хорошим способом. Это заставило нас перейти к лучшей архитектуре и пересмотреть функциональные потребности. NetTiers предоставили тонны кода доступа к данным, получили эту сущность по ее идентификатору, получили эту другую сущность по внешнему ключу, получили tlist и vlist того и того, но большинство из них было ненужным и неиспользованным. NHibernate с универсальным репозиторием и пользовательскими репозиториями только там, где это необходимо, сокращает тонны неиспользуемого кода и действительно повышает удобочитаемость и надежность.
получить эту другую сущность по ее внешнему ключу, получить список рассылки и тому подобное, но большая часть этого была ненужной и неиспользованной. NHibernate с универсальным репозиторием и пользовательскими репозиториями только там, где это необходимо, сокращает тонны неиспользуемого кода и действительно повышает удобочитаемость и надежность. получить эту другую сущность по ее внешнему ключу, получить список рассылки и тому подобное, но большая часть этого была ненужной и неиспользованной. NHibernate с универсальным репозиторием и пользовательскими репозиториями только там, где это необходимо, сокращает тонны неиспользуемого кода и действительно повышает удобочитаемость и надежность.