我在 SQL 数据库中有一个表,它有一个 ID 列(自动递增)并设置为主键。该表由该 ID 和帐户名组成。
然后我有一些代码可以读取这个表并用数据填充一个列表视图。问题是,如果我按帐户名订购 - 我会在列表视图中列出重复项。如果我按 ID 订购,我看不到任何重复项。
SQL 数据库中的原始数据不包含重复的帐户名称,所以显然这就是我希望在列表视图中看到的内容。
这是我用来获取数据的 Linq...
public static IEnumerable<Client2> GetClientList()
{
return (IEnumerable<Client2>)from c in entity.Client2s
orderby c.AccountName
select c;
}
这是用于创建列表视图的代码...
// Clear the listview
listViewClient.Items.Clear();
// Get imported client list from database
foreach (Client2 c in SQLHandler.GetClientList())
{
ListViewItemClient lvi = new ListViewItemClient(c.AccountName, c);
listViewClient.Items.Add(lvi);
}
正如我所说,如果我将其更改为orderby c.ID,那么它会按预期返回数据。我还尝试向 AccountName 添加索引。我确实使用了自定义列表视图项子类,但所做的只是存储对 Client 对象的引用。
知道如何解决这个问题吗?
谢谢,