2008-09-05 4 views

ответ

0

На работе наша база кода - это C++ и Perl, и мы говорим с базой данных MySQL. Для нашего интерфейса у нас есть довольно тонкие пользовательские классы, обернутые вокруг базовых клиентских библиотек MySQL для нашего кода на C++ и модуля DBI для наших скриптов Perl.

0

SubSonic и LINQ to SQL, надеюсь, скоро в ближайшее время LINQ to SubSonic!

0

В первую очередь я использую NHibernate, как на работе, так и на моих проектах по свободному времени. Это началось как попытка выйти из нормы на работе, чтобы использовать ADAT.NET datareaders/datasets, и теперь у нас есть несколько проектов, использующих Hibernate/NHibernate.

0

Класс SqlHelper из старой версии блоков приложений MS Enterprise. Он далек от совершенства, но трудно превзойти его простоту для простых приложений CRUD.

1

Мы используем IdeaBlade в наших проектах. Я нашел его довольно простым в использовании.

0

Обычно я создаю DataTier с LiNQ.
Он состоит из репозиториев, которые реализуют составные интерфейсы, поэтому я имею полную гибкость в отношении того, как их использовать.

IPersonRepository : IReadRepository<Person>, ICreateRepository<Person>, IUpdateRepository<Person> //and so on.. 

Они в основном предметная область ориентированных, так что они испускают объекты домена и заботиться обо всех логики отображения себя.
Они также могут создавать некоторые словари списка, f.ex словарь, состоящий из идентификатора и имени человека, поэтому мне не нужно слишком много тянуть с дБ, чтобы отобразить выпадающий список.
Хотя иногда для небольших проектов я просто использую сопоставление базы атрибутов без .dbml.

Я чувствую, что этот подход дает очень чистую модель приложения, потому что вся грязная логическая центрированная логика скрыта в DataTier. Бизнес-/ServiceTier чистый бизнес :)

+0

Круто! вы отправили свой код в любом месте? – CVertex 2008-09-07 11:41:35

0
  • SQL Server
  • Все хранимые процедуры
  • Handrolled рамки полиморфный объект, который повторно использовать от проекта для обработки Sproc Resultset - отображение> Object.

Я думаю, что это делает меня старым.

2

Я использую NHibernate в течение прошлого года или около того, и это оказалось очень быстрым способом получить базовый CRUD (почти) бесплатно.

Если это то, что вы хотите попасть, я могу рекомендовать NHibernate наилучшей практике статьи Билли Макафферти на CodeProject:

http://www.codeproject.com/KB/architecture/NHibernateBestPractices.aspx

Это доказала свою большую масштабируемость и гибкое решение и делает легко добиться четкого разделения DAL от других слоев.

0

MVC framework, где у модели есть классы источников данных с фактическим языком баз данных, разработчик в большинстве случаев использует save, saveField, delete, find и т. Д. Методы, а framework переводит это на sql-запросы. Это не только безопаснее и проще, но и очень удобно, что код является независимым от источника данных, то есть вы можете изменить сервер базы данных и сохранить код.

0

Я начал с Hibernate на Java-проекте на своем рабочем месте, а затем понял, что есть .Net-порт (NHibernate) и снова использовал его в проекте .Net. Я также наткнулся на статью, которую joesteele упоминает и использовал его в качестве базы для моих проектов с некоторыми незначительными изменениями, когда это необходимо, в основном, когда это необходимо, чтобы нацеливать транзакцию, начинающуюся и заканчивающуюся вручную.

Такая же практика и библиотека, которые могут быть применены как к платформам Java, так и к C#, ориентированы на Windows или Linux в качестве платформ приложений, упрощают разработку на разных платформах, чем нужно изучать различные среды.

Хотя я планирую выпустить Subsonic, iBatis и LINQ, на данный момент Hibernate и NHibernate кажутся подходящим инструментом для работы, в то время как я должен ориентироваться как на платформы Windows, так и на Linux.

1

Я использовал Hibernate в своей предыдущей задаче для подключения к MySql и Sql Server, но с тех пор я переключился на .NET, поэтому в настоящее время я работаю с LINQ, и мне действительно нравится.

0

У нас есть задний конец оракула с чем-то вроде 500 хранимых процедур, где приложения запускаются непосредственно против данных.

Я начал строить пользовательский или отображенную модель предметной области, что я интегрирующий, но я сделал это неправильно изначально, и теперь я застрял дело с этой головной болью, а также ... тьфу

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