假設我有SQL Server表表示例如文本挖掘表的列單元格,基於「##」符號刪除重複
員工的信息,我想要做的基於「##」符號去除重複項的度數列上的文本挖掘。
的LINQ to SQL
我使用LINQ to SQL,所以我打算在C#中的變量來得到這個數據context.And上串進行操作,再存放到位置!
規則:我需要更新數據或生成新表!
這是否正確的做法是否可行?需要關於這種方法的一些建議,或者歡迎任何其他建議
假設我有SQL Server表表示例如文本挖掘表的列單元格,基於「##」符號刪除重複
員工的信息,我想要做的基於「##」符號去除重複項的度數列上的文本挖掘。
的LINQ to SQL
我使用LINQ to SQL,所以我打算在C#中的變量來得到這個數據context.And上串進行操作,再存放到位置!
規則:我需要更新數據或生成新表!
這是否正確的做法是否可行?需要關於這種方法的一些建議,或者歡迎任何其他建議
所以看起來你需要根據「##」分隔符分割字符串,將不同的項目分開並放回到逗號分隔符中,這次劃定了?打破字符串然後LINQ的Distinct擴展方法的String.Split方法應該讓你只是唯一的。
假設你已經拿到了學位的文字在一個變量的地方:
var uniques = degree
.Split(new String[] { "##" }, StringSplitOptions.None)
.Distinct();
String.Split通常與單個字符分隔符的工作,但有允許在一個較大的字符串分割過載,因此你將不得不使用那個。
然後,您可以使用String.Join逗號分隔唯一的項目,或任何您需要做的事情。
編輯:道歉,我以爲你原來的問題是關於如何消除重複,而不是如何使用LINQ to SQL。
假設你已經設置了你的DataContext和對象模型,你只需要使用LINQ to SQL從數據庫中選擇你的對象,做出你需要的改變,然後調用SubmitChanges()
在他們。
例如:
var degrees = from d in context.GetTable<Employee>() select d;
foreach (var d in degrees)
{
d.Degree = String.Join(",", d.Degree
.Split(new String[] { "##" }, StringSplitOptions.None)
.Distinct());
}
context.SubmitChanges();
如果你是新來的LINQ to SQL,它可能是值得的通過教程或兩個第一運行。 Here's part 1 of a pretty good series:
最後,在您的編輯中提到您可以選擇在進行更改後創建新表 - 如果是這種情況,我會考慮將個別度存儲在表中,鏈接回員工記錄,而不是將它們存儲爲逗號分隔值。當然,這取決於你的需求,但是SQL被設計用於表和集合,所以你可以做得更好的字符串解析/處理越少。
祝你好運!
我需要更新表中的現有數據 – Ranju
@Ranju在答案中增加了一些關於LINQ to SQL的附加信息,希望有所幫助。看起來你可能第一次潛入LINQ to SQL,這是否正確?我認爲這是值得的,通過一個完整的教程或兩個 - 這是一個很好的系列的第1部分,以幫助您開始: http://www.codeproject.com/Articles/43025/A-LINQ-Tutorial -Mapping-表到對象 –