摘要DLL中的数据上下文
本文关键字:数据 上下文 DLL 摘要 | 更新日期: 2023-09-27 18:17:52
我有一个数据库模式,我正试图围绕它创建一个"基础"库。我还有其他几个使用相同基表的应用程序,我想将代码通用化。
我想我有两个问题。首先,我使用c#/Asp.net 4.0和Linq2Sql,因为我的数据库设计已经有一段时间了,我还没有时间把它转换成实体框架。
我已经创建了一个带有基本功能的.dbml文件,它提供了一个Linq数据上下文,我们将其称为BaseContext,其中包含所有公共表。然后,我在分部类中添加了额外的代码;这是我试图使之通用的代码。然后将BaseContext编译成DLL。
然后我有一个应用程序,它将扩展模式并创建一个从BaseContext派生的新DataContext。这是我在纸上的计划,但是1)继承DataContexts是如何工作的?
其次,我有跨应用程序连接字符串的问题。我不需要DLL中的代码来运行,但我需要能够设置派生应用程序的连接字符串,以便公共代码有用。2)是否有一种方法喜欢覆盖连接字符串在一个dll?
如何继承DataContexts工作?
就像继承其他任何东西一样。这没什么不同。
类库通常不包含它们的连接字符串;主机进程可以。主机进程通常是一个客户端应用程序,或者更好的是一个服务(WCF等)。按照惯例,连接字符串应该放在主机配置文件中。是否有一种方法可以在dll中覆盖连接字符串?
注意:类库(dll)不包含连接字符串的原因是因为它们不知道它们在哪个上下文(程序)下运行。在类库代码中,它仍然可以访问ConfigurationManager以获取连接字符串。主机进程只需要确保在app.config中定义了连接字符串。