2011-03-25 80 views
0

我有跟隨對象屬性從DAL返回自定義類?

Books 
---------- 
ID , Name 

現在,我想返回一個對象在表示層一個gridview裏面有很多更多的屬性,然後將原來的對象

Gridview Object 
--------------- 
ID, Name, Quantity, Location, ISBNNO, LastIssued 

我不沒有任何由這些屬性組成的業務對象當前&我不想爲了gridview而創建它。

我該如何創建&返回自定義 像這些動態對象?我是 新的DTO's。有人可以給我一個 的例子來返回我的DAL 內的DTO嗎?

謝謝, Damien。

+2

當你不想爲你的應用程序創建對象什麼是你然後創建對象? – PVitt 2011-03-25 10:40:02

+0

對不起,我的意思是,創建一個業務對象文件。我的每個業務對象都在一個單獨的cs文件中。 – 2011-03-25 10:46:23

+0

是的,每個類都應該在它自己的代碼文件中。請不要誤解我的意思,但是在它自己的代碼文件中創建類的問題在哪裏?我覺得我有點困惑。 – PVitt 2011-03-25 11:04:15

回答

3

,如果你不希望你的數據庫對象一塌糊塗,創造一個裝飾爲它

public class myGVObject 
{ 
    public Book { get; set; } 

    public int Quantity { get; set; } 
    public string Location { get; set; } 
    public string ISBNNO { get; set; } 
    public DateTime LastIssued { get; set; } 
} 

和你的GridView的使用:

<asp:Label id="lblBookId" text="<%# Eval("Book.ID") %>" /> 
<asp:Label id="lblLastIssue" text="<%# Eval("LastIssued") %>" /> 
+0

謝謝balezandre。你是對的。創建單獨的裝飾器對象還是繼承前一類的某些屬性是否好? – 2011-03-29 05:01:35

1

你怎麼樣項目你的對象在Linq查詢中飛出?

var result = from record in datastore 
      select new 
      { 
       ID = record.ID, 
       Name = record.Name, 
       Quantity = record.Quantity, 
       Location = record.Location, 
       ISBNNO = record.ISBN, 
       LastIssued = record.LastIssued 
      }; 
GridView1.DataSource = result; 
GridView1.DataBind(); 
+0

嗨,這似乎是一個不錯的選擇,但我在多個頁面上使用網格,所以我會去裝飾對象。 – 2011-03-29 04:59:46