假设我有一个DataContext
对象并同时访问两个表:
using( var context = new DataContext( connectionString ) ) {
foreach( firstTableEntry in context.GetTable<FirstTable>() ) {
switch( firstTableEntry.Type ) {
case RequiresSecondTableAccess:
{
var secondTable = context.GetTable<SecondTable>();
var items = secondTable.Where( item => item.Id = firstTableEntry.SecondId );
foreach( var item in items ) {
handleItem( item );
}
}
default:
// not accessing the second table
}
}
请注意,在对另一个表进行查询时,我不会停止使用第一个查询结果,而是一直使用同一个DataContext
对象。
这样的使用合法吗?我应该期待这种方法有什么问题吗?