Платформы ORM

Вот код, который решит проблему.

 private AdapterView.OnItemClickListener onItemClickListener = new AdapterView.OnItemClickListener() {
    @Override
    public void onItemClick(AdapterView<?> parent, View view, int pos, long id) {
        int index = (int) view.getTag();
        Object item = parent.getItemAtPosition(index);
        if (item instanceof SearchItemShareConnectionDAO) {
            SearchItemShareConnectionDAO dao = (SearchItemShareConnectionDAO) item;

        }
    }
};

SetTag (Dao.getPosition) в методе getView () адаптера.

5
задан Bogdan Gusiev 27 May 2009 в 20:48
поделиться

4 ответа

Я использовал NHibernate и Entity Framework.

Текущая стабильная версия entity framework очень незрелая. Слишком сложно или невозможно выполнять обычные задачи. Тестировать свой код также сложно, поскольку вы не можете действительно отделить свои сущности от классов доступа к данным. Но он отлично интегрируется с Visual Studio ide. Настройка проста, а обновление всех моделей из базы данных занимает всего несколько секунд. Следующая версия EF (4.0) решит некоторые из этих проблем.

NHibernate довольно мощный. Он поддерживает простые старые объекты clr, поэтому вы можете работать с простыми объектами. Конфигурации обеспечивают отличный контроль с мельчайшими деталями. Возможности фреймворка удовлетворительны, у него большое и активное сообщество и хорошая документация. Настроить и обновить сущности немного сложно, поскольку вы должны использовать генераторы, которые просматривают вашу базу данных и генерируют сущности и файлы xml. Может быть сложно найти генератор или шаблон, который точно соответствует вашим потребностям. Но как только вы все настроите, вам это понравится.

6
ответ дан 13 December 2019 в 05:41
поделиться

Я обнаружил, что LINQ to SQL является довольно простым решением. В первый раз, когда я использовал его, я бы сказал, что у меня была базовая ORM, работающая в течение нескольких часов, и я создавал с ней запросы LINQ.

У Microsoft есть дополнительная ORM (Entity Framework), которая, как я слышал, более сложна, но может быть полезна для очень сложных распределенных приложений с несколькими источниками данных и т. Д.

В целом я обнаружил, что LINQ является простым и быстрым для используйте ORM.

3
ответ дан 13 December 2019 в 05:41
поделиться

I have been looking at Telerik Open Access for last few months, in genernal this ORM has been a pain to work with, it was advertised as having extensive linq support but in reality many of the linq features you would normally expect dont work server side and are performed on the client. I also had problems using multiple conditions in a where clause, see my last question. Here are a few things that i found

  • No support for views
  • Unable to map more than one entity to the same table
  • Inheritance and Interface support requires you to make changes to you database schema
  • No visual designer like LINQ to SQL and Entity Framework
  • If you want to perform an insert any related entities must be fetched first

Rohan

2
ответ дан 13 December 2019 в 05:41
поделиться

LINQ2SQL был хорош, EF имеет смысл, но очень сложен и ориентирован на SQL Server. NHibernate особенный, и Telerik OpenAccess (полностью .NET / Visual Studio) получил широкий набор функций и профессиональную поддержку.

Поскольку я знаю продукт, я могу прокомментировать озабоченность Рохана:

  • Существующие представления могут быть использованы, и скоро появится полная поддержка представлений
  • Отображение нескольких объектов в одну и ту же таблицу "работает" для иерархий классов, ограничение с обратным отображением существует
  • Поддержка наследования и интерфейса "не требует" изменений в схеме базы данных, опять же ограничение с обратным отображением существует, хотя
  • Visual Designer придет,
1
ответ дан 13 December 2019 в 05:41
поделиться
Другие вопросы по тегам:

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