【问题标题】:Should I create multiple LINQ to SQL Classes Contexts in my projects我应该在我的项目中创建多个 LINQ to SQL 类上下文吗
【发布时间】:2023-03-30 21:40:01
【问题描述】:

这是一个设计问题,我注意到随着时间的推移 LINQ-to-SQL 上下文变得挤满了数据库中的所有表,所以今天我想为我最近添加的新表创建一个新的上下文。这些表本身构成一个逻辑单元,它们在逻辑上与其他表分开,除了2个表。我打算把那些拖车表去掉,然后再把它们放在新的上下文中。

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

【问题讨论】:

    标签: linq-to-sql datacontext


    【解决方案1】:

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

    还请记住,您根本不需要使用 LINQ to SQL 设计器的上下文。你总是可以的

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

    【讨论】:

    • 感谢您的回答,我正在关注并发问题,这不是我关心的问题,因为我共享的表我不使用它们来操作数据。它只是读取数据。
    • @Jamal - 那么你想要做的应该工作。将不同的单位分开似乎是个好主意。
    猜你喜欢
    • 2012-02-13
    • 2010-09-10
    • 1970-01-01
    • 2010-12-29
    • 2011-05-20
    • 2015-03-19
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多