2012-04-23 45 views
1

我已經在SQL Server中有兩個表,說A和B B是的文件列表,A包含指示項目是否應包括在B.非規範化綁定到網格的實體?

A 
___________ 
AId int PK, 
BId int, 
Include bit 

B 
___________ 
BId int PK, 
BDocNumber varchar(10), 
BName varchar(128) 

一行數據我的波蘇斯A和B,但最終什麼,我是我可以綁定到包含來自兩個數據的DevExpress網格後(BDocNumber,BNAME包括)

  1. 我可以設置B,​​爲導航屬性,但我不知道一種方法來平滑網格(DevExpress ASPxGridView,服務器模式)

  2. 我也研究過實體拆分,但它似乎不起作用,因爲我想加入BId而不是AId。

1或2的解決方案是可以接受的,但是瞭解這兩者將會非常棒。

感謝

回答

1

你有什麼是「有」的關係或在到你想在你的DevExpress網格訪問B中的一到一個導航屬性。你可以通過你的字段名屬性設置爲您NavigationProperty.FieldName

地說Persont的一比一的關係做類似下面的地址:

public class Person 
    { 

     public int ID { get; set; } 
     public string FirstName { get; set; } 
     public string LastName { get; set; } 
     public virtual Address Address { get; set; } 
    } 

    public class Address 
    { 
     public int ID { get; set; } 
     public string StreetAddress { get; set; } 
     public string City { get; set; } 
     public string State { get; set; } 
     public string Zip { get; set; } 

    } 

你在你的aspx頁面的GridView包括無論是人事和地址導航屬性的StreeAddress屬性應該是這樣

 <dx:ASPxGridView ID="ASPxGridView1" runat="server"> 
     <Columns> 
      <dx:GridViewDataTextColumn FieldName="FirstName" VisibleIndex="0"> 
      </dx:GridViewDataTextColumn> 
      <dx:GridViewDataTextColumn FieldName="LastName" VisibleIndex="1"> 
      </dx:GridViewDataTextColumn> 
      <dx:GridViewDataTextColumn FieldName="Address.StreetAddress" VisibleIndex="1"> 
      </dx:GridViewDataTextColumn> 
     </Columns> 
    </dx:ASPxGridView> 

在這種情況下,人是表A和地址爲表B.你是在一個綁定你的GridView,那麼你將被設置你的字段名稱爲B.FieldToDisplay。

希望這會有所幫助!