フィールドempId empName Salaryを含むテーブルempをマップするコードを作成しました。しかし、for ループに到達すると、button1 のクリックで無効なアプリケーション セッション ID という例外がスローされます。それを修正するために助けが必要です。Empname = ss の empId を表示したい
private const string ConnectionString = "isostore:/Emp1.sdf";
[Table(Name = "Emp")]
public class Emp2
{
[Column(IsPrimaryKey = true, IsDbGenerated = true)]
public int EmpId
{
get;
set;
}
[Column]
public string EmpName
{
get;
set;
}
[Column]
public int Salary
{
get;
set;
}
}
public MainPage()
{
InitializeComponent();
using (CountryDataContext context = new CountryDataContext(ConnectionString))
{
if (!context.DatabaseExists())
{
context.CreateDatabase();
}
else
{
MessageBox.Show("Employee table exist already");
}
}
}
private IList<Emp2> getcountry()
{
IList<Emp2> countryList = null;
using (CountryDataContext context = new CountryDataContext(ConnectionString))
{
IQueryable<Emp2> query = from c in context.Emp where c.EmpName=="ss" select c;
countryList = query.ToList();
}
return countryList;
}
public class CountryDataContext : DataContext
{
public CountryDataContext(string connectionString)
: base(connectionString)
{
}
public Table<Emp2> Emp
{
get
{
return this.GetTable<Emp2>();
}
}
}
private void button1_Click(object sender, RoutedEventArgs e)
{
IList<Emp2> emp= this.getcountry();
try
{
foreach (Emp2 a in emp)
{
MessageBox.Show(a.EmpId.ToString());
}
}
catch (Exception ex)
{
MessageBox.Show(ex.Message);
}
}