2012-06-27 61 views
1

我使用C#,LINQ到實體和.Net 4LINQ實體從一個nvarchar字段

我使用以下代碼來提取數據的列表返回int列表。數據可能是一個數字,但對於某些記錄它可能爲空或某種其他形式的數據。 Linq只能提取這個字段中的數字,還是需要使用額外的步驟?

var s = (from t in context.Cards where t.CardData != null select t.CardData).ToList(); 

上面將返回一個字符串列表,但我想要一個int列表。 CardData字段可以爲空,一個數字或一些文本。在數據庫中,它是一個可以爲空的nvarchar字段。

回答

2

最簡單的方法是在返回列表的每個元素上使用TryParse。你已經消除了空元素,讓你知道你有話:

var numberList = new List<int>(); 
foreach (var item in s) 
{ 
    int result = 0; 
    if (Int32.TryParse(item, result)) 
    { 
     numberList.Add(result); 
    } 
} 

這有你就會明白它做什麼18個月,現在的好處。

+0

這一個適合我。感謝每個人的輸入。 – Retrocoder

相關問題