我对 LINQ(以及 SQL)相当陌生。当尝试在 C#“Supervisors”中查询我的 SQL 数据库(它只包含由nvarchar(50)
变量组成的一列“Names”,其中没有一个是Null)时,supvName 最终是一个空列表。如果我不将其转换为列表,那么如果有帮助的话supvName
就是类型。System.Data.EnumerableRowCollection<string>
public addNewEmp()
{
InitializeComponent();
using (TestDataSet db = new TestDataSet())
{
var supvName = (from n in db.Supervisors
select n.Names).ToList();
foreach (string n in supvName)
{
supv_cbox.Items.Add(n);
}
}
}
即使使用 Where 语句,也不会显示一个结果,所以我确信这是我的代码中的一些简单的东西,我似乎无法弄清楚。我已经尝试过使用AsEnumerable()
which 并没有改变任何东西。
编辑:我在 VS 2010 WPF 中这样做。此外,当我在 TestDataSet.xsd 中预览数据时,它确实返回了数据库中的所有数据。
解决方案:问题出在我使用 DataSet 时。当我使用 DataContext 时,它工作得非常好。感谢您的 DataSet 或 DataContext 问题lazyberezovsky,否则我永远不会尝试过。使用以下作品:
var supvName = db.Supervisors.Select(m => m.Names);
supv_cbox.ItemsSource = supvName;
也感谢 Surjah Singh。