У меня есть объект с полями, которые набираются int
и я хочу выставить эти поля как свойства, которые получают и получают значения типа enum для работы со строгим типом.
поэтому я создал новый частичный класс для сущности и добавил два свойства.
когда я пытаюсь создать новый экземпляр TestEntity и добавить его в контекст,
и вызвать изменения сохранения я получаю следующее исключение:
Произошла ошибка при обработке этого запроса.
в System.Data.Services.Client.DataServiceContext.SaveAsyncResult.HandleBatchResponse ()
в System.Data.Services.Client.DataServiceContext.SaveAsyncResult.EndRequest ()
в System.Data.Services.Client.DataServiceContext.SaveChanges (параметры SaveChangesOptions)
в System.Data.Services.Client.DataServiceContext.SaveChanges ()
внутреннее исключение:
System.InvalidOperationException: тип 'enum1' не имеет настраиваемых свойств.
в System.Data.Services.Client.ClientType..ctor (Тип типа, Строка typeName, Логическое skipSettableCheck)
в System.Data.Services.Client.ClientType.Create (Тип тип, логическое ожиданиеModelType)
в System.Data.Services.Client.DataServiceContext.WriteContentProperties (средство записи XmlWriter, тип ClientType, ресурс объекта)
в System.Data.Services.Client.DataServiceContext.CreateRequestData (поле ResourceBox, логическая новая строка)
в System.Data.Services.Client.DataServiceContext.SaveAsyncResult.CreateChangeData (индекс Int32, логическая новая строка)
в System.Data.Services.Client.DataServiceContext.SaveAsyncResult.BeginNextChange (Boolean replaceOnUpdate)
поэтому я решил, что он пытается отразить свойства перечисления как свойства классов.
как я могу заставить контекст игнорировать эти свойства, когда он пытается отражать их.
Я использую VS 2008 team suite sp1, 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;
}
}
}