WCF Rest / Entity Framework - просмотр не десериализован, как ожидалось - PullRequest
0 голосов
/ 20 сентября 2010

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

1 |Абита |NULL |http://www.abita.com/
2 |Абита |Аббатство Эль |http://abita.com/brews/abbey_ale.php

Я использую WCF REST для получения xml-представления этого представления через объект каркаса сущности.При просмотре возвращенных данных в формате XML в браузере, первая строка показывает данные, как я ожидал:

    <vw_Url z:Id="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/">
- <EntityKey z:Id="i2" xmlns="http://schemas.datacontract.org/2004/07/System.Data.Objects.DataClasses" xmlns:a="http://schemas.datacontract.org/2004/07/System.Data">
  <a:EntityContainerName>FierceBeersEntities</a:EntityContainerName> 
- <a:EntityKeyValues>
- <a:EntityKeyMember>
  <a:Key>Brewery</a:Key> 
  <a:Value i:type="b:string" xmlns:b="http://www.w3.org/2001/XMLSchema">Abita</a:Value> 
  </a:EntityKeyMember>
  </a:EntityKeyValues>
  <a:EntitySetName>vw_Url</a:EntitySetName> 
  </EntityKey>
  <Beer i:nil="true" /> 
  <Brewery>Abita</Brewery> 
  <RowId>1</RowId> 
  <Url>http://www.abita.com/</Url> 
  </vw_Url>

Однако вторая строка не выглядит правильно десериализовать строку / объект, как это неt содержит данные из второй строки.

<vw_Url z:Ref="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" /> 

Есть идеи, почему это может быть?

ОБНОВЛЕНИЕ: Я обнаружил, что это вызвано UNION в представлении.Строки объединены из двух разных таблиц, и по какой-то причине EF рассматривает вторую как ссылку на первую.Возможно, это ошибка EF?Любые идеи для обхода?

Похоже, это может быть ошибка EF / ограничение в EF 1.0.http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/9293cf4d-deef-40b1-ab56-a0ee1e770dd9 Тем не менее, я использую EF 4.0, и это все еще кажется проблемой.Вздох ...

1 Ответ

0 голосов
/ 03 декабря 2010

ОБНОВЛЕНИЕ: я отследил это, чтобы быть вызванным СОЮЗОМ в представлении.Строки объединены из двух разных таблиц, и по какой-то причине EF рассматривает вторую как ссылку на первую.Возможно, это ошибка EF?

Похоже, что это может быть ошибка EF / ограничение в EF 1.0.http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/9293cf4d-deef-40b1-ab56-a0ee1e770dd9 Тем не менее, я использую EF 4.0, и это все еще кажется проблемой.Вздох ...

...