我有一个ADO .Net实体数据模型用于我的数据库。在这个模型中,我有三个相关的表格: “用户”表包含UserId和其他细节。 “运行”表包含的runid,ApproverId和其他细节,其中包含用户ID “RunToUser”和列的runid与EntityDataSource的多重关系绑定
的关系如下: Users.UserId是一对一的关系,以Run.ApproverId 用户。 UserId是多对多RunToUser.UserId Run.RunId是多对多RunToUser.RunId
在实体模型中,这表示为具有两个单独关系的两个表。一对一关系以及用户和运行之间的多对多关系。
我有一个ASP.net Formview,我想要编辑Run中的数据以及用户中的相关数据。
数据绑定在大多数情况下都有效。但是,当我作为entitydatasource绑定到Users表时,它始终使用一对一关系关联。
如何强制entitydatasource使用特定关系关联,以便我可以将数据从一对一映射绑定到标签,将多对多绑定到数据视图?
我试过where子句中的“EXISTS”,它限制了记录,但它仍然坚持总是使用one-to-one,并且只在所有数据绑定控件中显示单个用户。下面是用户entitydatasource:
<asp:EntityDataSource ID="edsUsers_DET" runat="server"
ConnectionString="name=MyEntities" DefaultContainerName="MyEntities"
EntitySetName="Users"
Where="EXISTS(SELECT VALUE p FROM it.Run AS p WHERE p.RunID = @RunID)" >
<WhereParameters>
<asp:ControlParameter ControlID="fvRun" Name="RunID" Type="Int32" />
</WhereParameters>
</asp:EntityDataSource>
我想我会需要两个实体的数据来源之一的标签,为GridView第二,但直到我知道确定如何specifiy关联,我不知道该怎么进一步进行。 THX, -J
我不确定我是否理解,你有没有例子? – Jay 2009-07-14 20:32:22