2010-01-28 40 views
2

我想在我的實體中有一個字段,其中返回的數據來自mydomainservice中的類函數,而不是來自數據庫。LinqToSql如何實現計算列

的原因是,我要生成一個表

進行的,而鬆散地等領域的圖像URL(Silverlight的綁定)我怎樣才能獲得呢?

回答

2

另外兩個提到了部分類。他們是正確的。下面是一個例子...

public partial class MyImage 
{ 
    public string CompleteUrl 
    { 
     get { return string.Format("http://{0}/{1}/{2}.png", Host, Folder, Filename); } 
    } 
} 

這假設你已經有一個名爲「主機」,「文件夾」欄和「文件名」,在你的數據庫,以及那些已經被映射到相應的列。

L2S爲其所有實現生成部分類。你不應該做你自己的映射。這些部分類允許您創建一個新文件(帶有ClassName.cs),這將允許您擴展域對象的功能。

+0

非常感謝,我將不得不體驗一下,看看我得到:) – Martin 2010-01-28 10:14:59

+0

葉普! 它確實有效,而且很簡單。讀大量的文檔確實沒有 – Martin 2010-01-28 10:22:28

1

您可以通過使partial類具有相同的名稱(位於同一名稱空間中)並將該方法放入該文件來擴展您的linq2sql生成的類。

1

聲明一個partial類與實體類相同的名稱,並在同一個程序集中。像平常一樣聲明你的函數/屬性。

+0

你說的是在Dataclasses.designes.cs中添加一個部分類? 你如何裝飾[列(存儲= ???] – Martin 2010-01-28 10:01:12