假设我有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-表到对象 –