Вот код, который решит проблему.
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 () адаптера.
Я использовал NHibernate и Entity Framework.
Текущая стабильная версия entity framework очень незрелая. Слишком сложно или невозможно выполнять обычные задачи. Тестировать свой код также сложно, поскольку вы не можете действительно отделить свои сущности от классов доступа к данным. Но он отлично интегрируется с Visual Studio ide. Настройка проста, а обновление всех моделей из базы данных занимает всего несколько секунд. Следующая версия EF (4.0) решит некоторые из этих проблем.
NHibernate довольно мощный. Он поддерживает простые старые объекты clr, поэтому вы можете работать с простыми объектами. Конфигурации обеспечивают отличный контроль с мельчайшими деталями. Возможности фреймворка удовлетворительны, у него большое и активное сообщество и хорошая документация. Настроить и обновить сущности немного сложно, поскольку вы должны использовать генераторы, которые просматривают вашу базу данных и генерируют сущности и файлы xml. Может быть сложно найти генератор или шаблон, который точно соответствует вашим потребностям. Но как только вы все настроите, вам это понравится.
Я обнаружил, что LINQ to SQL является довольно простым решением. В первый раз, когда я использовал его, я бы сказал, что у меня была базовая ORM, работающая в течение нескольких часов, и я создавал с ней запросы LINQ.
У Microsoft есть дополнительная ORM (Entity Framework), которая, как я слышал, более сложна, но может быть полезна для очень сложных распределенных приложений с несколькими источниками данных и т. Д.
В целом я обнаружил, что LINQ является простым и быстрым для используйте ORM.
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
Rohan
LINQ2SQL был хорош, EF имеет смысл, но очень сложен и ориентирован на SQL Server. NHibernate особенный, и Telerik OpenAccess (полностью .NET / Visual Studio) получил широкий набор функций и профессиональную поддержку.
Поскольку я знаю продукт, я могу прокомментировать озабоченность Рохана: