私はLINQ(およびSQL)にかなり慣れていません。C#「スーパーバイザー」(変数で構成された「名前」列が 1 つだけ含まれnvarchar(50)
、いずれもNullではない) で SQL データベースにクエリを実行しようとすると、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 ステートメントを使用しても、その 1 つの結果が表示されないので、コード内で単純に理解できないものであると確信しています。私はすでにAsEnumerable()
何も変更しなかったものを使用してみました。
編集:私はVS 2010 WPFでこれをやっています。また、TestDataSet.xsd でデータをプレビューすると、データベース内のすべてのデータが返されます。
解決策: 問題は、DataSet を使用したときでした。代わりに DataContext を使用すると、完全に正常に機能しました。DataSet または DataContext の質問 lazyberezovsky のおかげで、または私はそれを試したことはありませんでした。次の作品を使用します。
var supvName = db.Supervisors.Select(m => m.Names);
supv_cbox.ItemsSource = supvName;
ありがとう、サージャ・シンも。