2
假設我有以下Linq 2 SQL命令;返回鏈接中的對象並修剪一個字段
ItemsRepository.All().Where(r => r.type == "myType");
假設它返回一個對象集合;
- ID
- 標題
- 描述
- 型
- 等
有沒有辦法返回整個對象和裝飾的描述第1 200個CHRS如果有描述中有200多個字符?
或者我應該得到的收集,然後通過他們的迭代?
感謝
假設我有以下Linq 2 SQL命令;返回鏈接中的對象並修剪一個字段
ItemsRepository.All().Where(r => r.type == "myType");
假設它返回一個對象集合;
有沒有辦法返回整個對象和裝飾的描述第1 200個CHRS如果有描述中有200多個字符?
或者我應該得到的收集,然後通過他們的迭代?
感謝
你可以使用選擇預計,到一個新的集合。所以你必須 -
var x = ItemsRepository.All().Where(r => r.type == "myType");
var y = x.Select(z => new { z.id, z.title, z.description.Substring(0,200), z.type });
如果你不想投射到一個匿名類型,只需指定你要投射的類型 -
var y = x.Select(z => new MyNewType { ID = z.id, Title = z.title, Description = z.description.Substring(0,200), z.type });
+1,但我寧願不因爲這個對象相當大。但我意識到這可能需要這樣。 – griegs 2010-07-22 10:47:30
那麼當你枚舉y並生成sql時,linq-to-sql將生成SQL以僅檢索你要求的內容。因此它只會檢索您使用Select運算符指定的字段,並且子字符串(0,200)將被轉換爲等效的SQL。 – 2010-07-22 11:31:02
是的,我得到了所有我只是希望有一種方法來修剪數據。我選擇了trimmedText作爲屬性的部分視圖,所以我在需要的地方使用。感謝您的幫助 – griegs 2010-07-23 01:19:45