none
LinQDataSource,選擇超過一個Table? RRS feed

  • 問題

  • 我試過在VS2008使用LinQDatasource,把linqdatasource 拖放至form上後, 按照VS2008的介面去建立,但是我發現只可以選擇一個Table, 而SQLDataSource是可以多個的.

    換句話說, LinQDatasource做不到如
    from c in dc.customer_baskets
    from p in dc.products
    select new { c ,p }

    是不是LinQDatasource的限制?
    2008年11月10日 下午 04:13

所有回覆

  • 看不懂你的邏輯?

    妳這樣跟下面有何不同?

    select new { dc.customer_baskets,dc.products}

     

    2008年11月11日 上午 12:28
  • 這只是一個例子,問題在於如何在LinQDataSource選擇多一個Table呢
    2008年11月11日 上午 02:42
  • 其他的例子那?

    我沒用過Linq To DataSource 但我用過 Linq To SQL,Linq To Entity...

    大同小異,但每一種都有些許的限制.

    但我一看一下你那個,我覺得是你本身的問題?

    雖然它是Linq 但它的規則跟 SQL 一樣.

    所以你二個 Table 一定關係 Uion ,Join...關係,不然就用我的方式.

    你用二個 From 然後用 New 去做投射的功能, 你又不設 Join ,Uion 的條件,要做出像 Cross Join 功能,我想你的想法是錯誤的.

     

    2008年11月11日 上午 02:53
  • LINQDataSource

    即是VS2008上那個項目,不是LinQ to sql 或Linq to XML etc

    其實我那條Linq是沒有問題

    from c in dc.customer_baskets
    from p in dc.products
    select new { c ,p }


    選擇兩個table再select c,p而已,即使table沒有任何關係,用var 已經可以unbox

    foreach ( var s in select)
    {
        response.write(s.c.memberWink;
        response.write(s.p.memberWink;
    }

    跟例子無關, 是VS2008介面上沒有可以選擇
    可以看看圖
    http://www.codeproject.com/KB/aspnet/example-of-aspnet-35/toolbox.png
    http://codebetter.com/photos/david.hayden/images/166372/original.aspx


    2008年11月11日 上午 05:50
  • Hi,

    請問一定要在VS介面上設定嗎?

    如不的話,您可試試下面方法:

     

    資料庫:Northwind
    資料表及欄位:Customers的CompanyName;Orders的OrderDate、Freight

     

    Code Snippet

    .aspx.vb

     

    Dim db As New NorthwindDataContext

     

    Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load
        If Not Me.IsPostBack Then
            Me.GridView1.DataSource = GetDetail()
            Me.GridView1.DataBind()
        End If
    End Sub

     

    Public Function GetDetail() As IQueryable(Of LinqDetailResult)
        Dim query = From c In db.Customers _
                    From o In db.Orders _
                    Where c.CustomerID = o.CustomerID _
                    Select New LinqDetailResult With { _
                        .CompanyName = c.CompanyName, _
                        .OrderDate = o.OrderDate, _
                        .Freight = o.Freight _
                    }
        Return query
    End Function

     

     

    2008年11月11日 上午 06:08
  • 請問這個問題有解答了嗎? 我也遇到需要在 LinqDataSource.TableName 使用多個 Table 的困擾,

    可以參考: http://www.ddj.com/205100230;jsessionid=NLSMIGTX0L4B4QSNDLPSKHSCJUNN2JVN?_requestid=335304

    應該有你要的答案
    2009年6月21日 上午 07:38