我有一个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