Linq to sql 我应该在项目中创建多个LINQ到SQL类上下文吗

Linq to sql 我应该在项目中创建多个LINQ到SQL类上下文吗,linq-to-sql,datacontext,Linq To Sql,Datacontext,这是一个设计问题,我注意到,随着时间的推移,LINQ to SQL上下文会挤满数据库中的所有表,所以今天我想为我最近添加的新表创建一个新上下文。这些表本身构成一个逻辑单元,它们在逻辑上与其他表分开,除了2个表。我计划把这两张桌子放在另一个新的背景下 我的问题是,我的设计是否有效,我将面临哪些我现在没有考虑的问题?您当然可以这样做,但请确保在两个上下文之间不共享任何表。您需要注意的是同时需要DataContext实例的情况。换句话说,如果同时在两个上下文中添加或编辑,则需要记住在两个上下文中保存更

这是一个设计问题,我注意到,随着时间的推移,LINQ to SQL上下文会挤满数据库中的所有表,所以今天我想为我最近添加的新表创建一个新上下文。这些表本身构成一个逻辑单元,它们在逻辑上与其他表分开,除了2个表。我计划把这两张桌子放在另一个新的背景下


我的问题是,我的设计是否有效,我将面临哪些我现在没有考虑的问题?

您当然可以这样做,但请确保在两个上下文之间不共享任何表。您需要注意的是同时需要
DataContext
实例的情况。换句话说,如果同时在两个上下文中添加或编辑,则需要记住在两个上下文中保存更改。如果两个上下文之间共享行,则可能会丢失更改

还要记住,您根本不需要使用LINQtoSQL设计器的上下文。你总能做到

DataContext context = new DataContext();
Table<SomeL2SClass> table = context.GetTable<SomeL2SClass>();
DataContext context=newdatacontext();
Table=context.GetTable();

感谢您的回答,我正在关注并发问题,这不是我的问题,因为我共享的表不用于操作数据。它只是读取数据。@Jamal-那么您尝试做的应该是有效的。把不同的单元分开似乎是个好主意。