Здраствуйте. Недавно начал осваивать BLToolkit, появились вопросы.
1. Правильно ли я понимаю, что имена возвращаемых из БД полей и наименования параметров хранимых процедур обязательно должны совпадать? Например:
public abstract class Customer : EditableObject
{
[MapField("ID"), PrimaryKey(), NonUpdatable]
public abstract int CustomerID { get; protected internal set; }
public abstract string CustomerName { get; set; }
public abstract string CustomerPhone { get; set; }
}
public abstract class CustomerAccessor : DataAccessor<Customer>
{
//Процедура возвращает поля ID, CustomerName, CustomerPhone
[SprocName("p_Customer_Show")]
public abstract List<Customer> GetCustomerList(int @CustomerID); //Здесь параметр указывается явно, поэтому может быть любым
//А здесь входные параметры процедуры должны быть обязательно @ID, @CustomerName, @CustomerPhone
[SprocName("p_Customer_Edit")]
public abstract void Update(Customer c);
}
Это возможно обойти? Например указать, что параметры следует создавать на основании свойств класса, а не на основании того, на что они мапятся (в приведенном выше примере: создать @CustomerID вместо @ID)
2. Каков механизм работы со связкой EditableObjectList + ObjectBinder + любой грид, в случае множественной вставки/удаления объектов, желательно с возможностью отмены всех изменений. Есть ли какие-нибудь примеры, рекомендации? Кроме свойства IsDirty, указывающего на изменение объекта, ничего найти не удалось.
Спасибо.