IndexAttribute
От: Odi$$ey Россия http://malgarr.blogspot.com/
Дата: 31.08.09 07:50
Оценка:
Чего-то непонимаю про subj

Есть табличка:

CREATE TABLE [dbo].[BindingToDump](
    [ID] [int] IDENTITY(1,1) NOT NULL,
    [PLACE_ID] [int] NOT NULL,
    [PARAM_NAME] [nvarchar](50) NOT NULL,
    [PARAM_ADDR] [nvarchar](5) NOT NULL,
    [PARAM_TYPE] [int] NOT NULL,
    [PARAM_DESC] [ntext] NOT NULL,
...
CREATE UNIQUE NONCLUSTERED INDEX [BindingToDumpIdName_ndx] ON [dbo].[BindingToDump] 
(
    [PLACE_ID] ASC,
    [PARAM_NAME] ASC
)WITH (PAD_INDEX  = OFF, IGNORE_DUP_KEY = OFF) ON [PRIMARY]

далее объект, представляющий одну запись:

    [TableName("BindingToDump")]
    public class ParamBinding : EntityBase
    {
        [MapField("ID")]
        public int Id { get; set; }
        [MapField("PLACE_ID")]
        public int PlaceId { get; set; }
        [MapField("PARAM_NAME")]
        public string ParamName { get; set; }
        [MapField("PARAM_ADDR")]
        public string ParamAddr { get; set; }
        [MapField("PARAM_TYPE")]
        public int ParamType { get; set; }
        [MapField("PARAM_DESC")]
        public string ParamDesc { get; set; }
    }

и Accessor:

    public abstract class ParamBindingAccessor : DataAccessor<ParamBinding>
    {
        [SqlQuery("SELECT * FROM BindingToDump WHERE PLACE_ID = @placeid ORDER BY PLACE_ID, PARAM_NAME")]
        public abstract List<ParamBinding> GetList( int placeid );

        [SqlQuery("SELECT * FROM BindingToDump WHERE PLACE_ID = @placeid ORDER BY PLACE_ID, PARAM_NAME")]
        [Index("PARAM_NAME")]
        public abstract Dictionary<string, ParamBinding> GetDict(int placeid);
    }


Вопрос — почему GetDict() кидает исключение "BLToolkit.Mapping.MappingException: Field 'PARAM_NAME' not found." (при том что GetList() работает как ожидается)? Ну и можно ли вообще получить то что я хочу...
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.