我有一個EntityDataSource,我試圖替換一些以前的代碼隱藏工作。我EntityDataSource樣子:EntityDataSource是否支持「it.Property.Property」語法?
<asp:EntityDataSource
runat="server"
ID="personDataSource"
ContextTypeName="Model.GuidesEntities"
EntitySetName="CharacterFavorites"
OrderBy="it.Person.FullName"
Select="it.Person.Id"
Where="it.UserName = @userName" />
當我真正使用它,我得到的錯誤:
'Person' is not a member of type 'Transient.rowtype[(Id,Edm.Int32(Nullable=True,DefaultValue=))]' in the currently loaded schemas.
是否EntityDataSource不支持行走的關係?你將如何與EntityDataSource做到這一點?
另外@userName
參數現在被添加到後面的代碼中。任何知道如何直接在WhereParameters集合中指定用戶名參數的人都可以獲得額外的積分。
剛纔我指出,如果你還在你的Include屬性中包含「Dog」對象,並且還想要它是「Collar」導航屬性,然後你添加「Dog.Collar」到Include中,「Collar」本身就會中斷 – Graham 2011-03-03 18:02:31
這是正確的答案(it.NavigationProperty.Field)。在數據中使用它稍後綁定表達式,只使用字段名稱,而不是NavigationProperty.Field來綁定數據。這使我絆倒了。 – kappasims 2011-05-12 14:55:04
我想我應該澄清,否則它似乎會與格雷厄姆在他的評論中所說的相矛盾。如果我們要從上面的格雷厄姆選擇中去掉,那麼它應該被評估爲Eval(「Id」)。 – kappasims 2011-05-12 14:56:54