日期:2014-05-17  浏览次数:20538 次

用ObjectDataSource和ListView怎么操作LEFT JOIN出来的多张表?
用ObjectDataSource和ListView怎么操作LEFT JOIN出来的多张表?

我现在在用三层结构做一些练习 有两张表:Tab_User和Tab_UserDetails 以UserID为外键
并写了
Model_Tab_User   Model_Tab_UserDetails 
DAL_Tab_User  DAL_Tab_UserDetails
BLL_Tab_User   BLL_Tab_UserDetails
并有:

<asp:ObjectDataSource ID="ObjectDataSource1" runat="server" 
            DataObjectTypeName="SanCen.Model_Tab_User" DeleteMethod="DeleteSorft" 
            InsertMethod="AddNew" SelectMethod="ListUserJionDeTailes" 
            TypeName="SanCen.BLL_Tab_User" UpdateMethod="Update">
            <DeleteParameters>
                <asp:Parameter Name="UserID" Type="Int32" />
            </DeleteParameters>
        </asp:ObjectDataSource>

这一个对象数据源 只能操作一张表啊!我现在倒是想到了一个笨法:就是 再写一个 包含两张数据表
的Model DAL 和BLL类(即合并两个类) 这个方法还没试,不过想来一定可行!
     不过如果有多张表相关联,岂不是要合并多个类? 操作的字段,肯定特别多了吧?我不禁有些质疑
我这个“合并类”的办法的合理性!
 还有其他好办法吗?
         


------解决方案--------------------
还有一点,我建议不要过度封装一大堆所谓DAL代码,在你的BLL层中直接调用SQLHelper这种DAL代码就行了。