Свойство-Установите при извлечении данных Pre-Entity-Framework с AppendOnly - PullRequest
0 голосов
/ 23 января 2012

В настоящее время мы осуществляем миграцию проекта, поэтому структура сущностей получает доступ к «старым» данным в наших базах данных, которые она не записывала.

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

var someid = "someId";
var objectSet = context.CreateObjectSet<TEntity>();

result = objectSet.Where(e => e.someId == someId).ToList();

Выполнение этого запроса приводит к ожидаемым записям, но также вызывает «набор» для другого свойства класса TEntity.

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

«Set» не возникает, когда данные были записаны с EntityFramework, и использование MergeOption «NoTracking» также предотвращает это.

У устанавливаемого свойства есть тип «Byte []», и между новыми строками данных и старыми нет визуальных различий.

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

Какие могут быть возможные причины этого происшествия?

Edit: Свойство отражает некоторые внутренние значения, также относящиеся к обратной совместимости. Для него устанавливаются данные, хранящиеся в базе данных, ранее равные нулю.

Отображение:

<Property Type="Binary" Name="DataInternal" MaxLength="Max" FixedLength="false" cg:GetterAccess="Internal" cg:SetterAccess="Internal" />

<Property Name="Data" Type="varbinary(max)" />

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...