我有一个返回如下数据的视图:
1 | Abita | NULL | http://www.abita.com/
2 | Abita | Abbey Ale | 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>
但是,第二行似乎没有正确地反序列化行/对象,因为它不包含第二行的数据。
<vw_Url z:Ref="i1" xmlns:z="http://schemas.microsoft.com/2003/10/Serialization/" />
知道为什么会这样吗?
更新: 我已将此跟踪视为由视图中的UNION引起的。行由两个不同的表联合在一起,由于某种原因,EF将第二个作为对第一个的引用。也许这是一个EF错误?任何解决方法的想法?
听起来这可能是EF 1.0中的EF错误/限制。 http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/9293cf4d-deef-40b1-ab56-a0ee1e770dd9但是,我使用的是EF 4.0,它似乎仍然是一个问题。叹息...
答案 0 :(得分:0)
更新:我已将此跟踪视为由视图中的UNION引起的。行由两个不同的表联合在一起,由于某种原因,EF将第二个作为对第一个的引用。也许这是EF的错误?
听起来这可能是EF 1.0中的EF错误/限制。 http://social.msdn.microsoft.com/Forums/en-US/adodotnetentityframework/thread/9293cf4d-deef-40b1-ab56-a0ee1e770dd9但是,我使用的是EF 4.0,它似乎仍然是一个问题。叹息...