不确定这是否是最好的方法,但到目前为止这是我的代码.目前,它保留第一个副本并从表中删除其他副本.我希望它保留最后一行的最大OrderId数字并删除其余部分.我试过Take而不是Skip但似乎无法让它正常工作.
var duplicateRow = (from o in db.Orders
group o by new { o.CustomerId } into results
select results.Skip(1)
).SelectMany(a => a);
db.Orders.DeleteAllOnSubmit(duplicateRow);
db.SubmitChanges();
Run Code Online (Sandbox Code Playgroud)
我刚开始学习lambda/linq.这是我到目前为止所拥有的.
var frequency = from f in "trreill".ToList()
group f by f into letterfrequency
select letterfrequency;
foreach (var f in frequency)
{
Console.WriteLine($"{f.Key}{f.Count()}");
}
Run Code Online (Sandbox Code Playgroud)
这是输出:
t1 r2 e1 i1 l2
需要的输出:
e1i1l2r2t1
无法弄清楚如何正确排序.对我做错了什么的想法?
我有一张简单的桌子
这是我的代码片段.
var person = db.Person.Where(p => p.ID == inputId).Select(o => o.ID).FirstOrDefault();
Run Code Online (Sandbox Code Playgroud)
回报者;
inputId是用户输入字段.我需要的是如果inputId不在表中(例如,5,6,7等),我想要一个if/else选项来创建一个新用户/重新输入正确的id.
谢谢