Вы имеете в виду индексы на столбцах?
можно сделать это вручную в Вашем ClassMap<...>
файлы путем добавления .SetAttribute("index", "nameOfMyIndex")
, например, как так:
Map(c => c.FirstName).SetAttribute("index", "idx__firstname");
или можно сделать это при помощи функций атрибута автокартопостроителя - например, как так:
создав Вашу модель персистентности:
{
var model = new AutoPersistenceModel
{
(...)
}
model.Conventions.ForAttribute<IndexedAttribute>(ApplyIndex);
}
void ApplyIndex(IndexedAttribute attr, IProperty info)
{
info.SetAttribute("index", "idx__" + info.Property.Name");
}
и затем делают это к Вашим объектам:
[Indexed]
public virtual string FirstName { get; set; }
мне нравится последний. Хороший компромисс между тем, чтобы не быть non-instrusive к Вашей модели предметной области, и все же будучи очень эффективным и ясным на том, что происходит.
Похоже, я пропустил вполне разумный шаг. Вам необходимо разместить DataMapper :: Logger.new (STDOUT,: debug)
, прежде чем устанавливать соединение. HT к @snusnu в #datamapper IRC.