【发布时间】:2023-03-30 21:40:01
【问题描述】:
这是一个设计问题,我注意到随着时间的推移 LINQ-to-SQL 上下文变得挤满了数据库中的所有表,所以今天我想为我最近添加的新表创建一个新的上下文。这些表本身构成一个逻辑单元,它们在逻辑上与其他表分开,除了2个表。我打算把那些拖车表去掉,然后再把它们放在新的上下文中。
我的问题是我的设计是否有效,我将面临哪些我现在没有考虑的问题?
【问题讨论】:
这是一个设计问题,我注意到随着时间的推移 LINQ-to-SQL 上下文变得挤满了数据库中的所有表,所以今天我想为我最近添加的新表创建一个新的上下文。这些表本身构成一个逻辑单元,它们在逻辑上与其他表分开,除了2个表。我打算把那些拖车表去掉,然后再把它们放在新的上下文中。
我的问题是我的设计是否有效,我将面临哪些我现在没有考虑的问题?
【问题讨论】:
您当然可以这样做,但请确保不要在两个上下文之间共享任何表。您需要注意的是您需要两个 DataContext 实例的情况。换句话说,如果您同时在两个上下文中添加或编辑,您需要记住在两个上下文中保存更改。如果行在两个上下文之间共享,您可能会丢失更改。
还请记住,您根本不需要使用 LINQ to SQL 设计器的上下文。你总是可以的
DataContext context = new DataContext();
Table<SomeL2SClass> table = context.GetTable<SomeL2SClass>();
【讨论】: