Представление перечисления ввело свойства для полей объектов платформы объекта в клиентском контексте Услуги передачи данных ADO.NET

У меня есть объект с полями, которые вводятся интервал

и я хочу к выставленному те поля как свойства, которые получают и получают перечислимые значения типа для работы со строгим контролем типов.

таким образом, я создал новый частичный класс для объекта и добавил эти два свойства.

когда я пытаюсь создать новый экземпляр TestEntity и добавить его к контексту, и вызов сохраняет изменения, я получаю следующее исключение:

Ошибка произошла при обработке этого запроса. в System. Данные. Сервисы. Клиент. DataServiceContext. SaveAsyncResult. HandleBatchResponse () в Системе. Данные. Сервисы. Клиент. DataServiceContext. SaveAsyncResult. EndRequest () в Системе. Данные. Сервисы. Клиент. DataServiceContext. SaveChanges (опции SaveChangesOptions) в System. Данные. Сервисы. Клиент. DataServiceContext. SaveChanges ()

внутреннее исключение:

Система. InvalidOperationException: тип 'enum1' не имеет никаких устанавливаемых свойств. в System. Данные. Сервисы. Клиент. ClientType.. ctor (Вводят тип, Строковое имя типа, булевская переменная skipSettableCheck) в System. Данные. Сервисы. Клиент. ClientType. Создайте (Введите тип, булевская переменная expectModelType) в System. Данные. Сервисы. Клиент. DataServiceContext. WriteContentProperties (устройство записи XmlWriter, тип ClientType, Объектный ресурс) в System. Данные. Сервисы. Клиент. DataServiceContext. CreateRequestData (поле ResourceBox, булева новая строка) в System. Данные. Сервисы. Клиент. DataServiceContext. SaveAsyncResult. CreateChangeData (индекс Int32, булева новая строка) в System. Данные. Сервисы. Клиент. DataServiceContext. SaveAsyncResult. BeginNextChange (булевская переменная replaceOnUpdate)

таким образом, я полагал, что это пытается отразить перечислимые свойства как свойства классов. как я могу заставить контекст проигнорировать те свойства, когда он пытается размышлять над ними.

я использую комплект sp1 VS 2008 команды, SQL Server 2008.Net 3.5 Sp1.

Помощь.

частичный код класса:

public partial class TestEntity
{     
    public enum1 Field1
    {
        get
        {
            return (enum1)field1;
        }
        set
        {
            field1 = (Int16)value;
        }
    }

    public enum2 Field2
    {
        get
        {
            return (enum2)field2;
        }
        set
        {
            field2 = (Int16)value;
        }
    }   
}    
6
задан John Saunders 13 February 2010 в 00:25
поделиться

1 ответ

Не думаю, что вы сможете. В ADO.Net Data Services у вас не может быть перечислений для ваших прокси-объектов, которые отправляются на сервер. Попробуйте изменить свой объект, чтобы вместо этого использовать int (или short).

2
ответ дан 17 December 2019 в 20:34
поделиться
Другие вопросы по тегам:

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