我正在使用DTO(數據傳輸對象)在我的應用程序的不同層之間傳輸信息。什麼是正確填寫DTO的方法
當涉及到性能和填充這些對象的方式時,最佳實踐是什麼?我應該使用我的數據訪問層中的不同方法填寫所需的最低信息嗎?
比方說,我有以下類別:
public class Order
{
public int OrderNo;
public Customer Customer;
public double Total;
}
public class Customer
{
public int CustId;
public string CustName;
public Country Country;
}
public class Country
{
public int CountryId;
public string CountryName;
}
,如果我需要生成包含OrderNo,的CustName和國家或地區名稱,並在另一種情況下,可能從不同的表,在不同的訂單信息的列表會發生什麼(或DTO的)?最好使用只包含必需字段的扁平DTO或使用LINQ進行查詢?
我希望我說得夠清楚。
感謝您的幫助!
編輯:我想知道的是,如果我應填寫所有嵌套對象,並不僅是一個對象的屬性的一部分。
你能否在你的問題中澄清術語「圖層」的用法?通常,您使用DTO在進程和機器之間傳輸數據。一個圖層通常被稱爲您的代碼的邏輯結構。例如,在單臺機器提供的Web應用程序中,讓您的數據訪問層返回豐富的業務對象而非DTO是完全可以的。請參閱[Wikipedia](http://en.wikipedia.org/wiki/Multilayered_architecture)以獲取有關此主題的起點。 – Marijn
@Marijn:我有一個簡單的3層Web應用程序,包含一個演示文稿,一個業務邏輯和一個數據訪問層,但我正在使用這個小應用程序來弄清楚如何在我們公司構建一個包含400多個表,並且在許多這些表上將會有很多不同的操作和查詢。 – Jason