2

我有一个数据库模式,我正在尝试围绕它创建一个“基础”库。我还有其他几个使用相同基表的应用程序,我想通用代码。

所以我想我有两个问题。首先,我使用的是 C#/Asp.net 4.0 和 Linq2Sql,因为我的数据库设计已经存在了一段时间,我还没有时间将其转换为实体框架。

我创建了一个具有基本功能的 .dbml 文件,该文件提供了一个 Linq 数据上下文,我们将其称为 BaseContext ,它包含所有公用表。然后我在部分类中有额外的代码;这是我试图通用的代码。然后我将 BaseContext 编译成一个 DLL。

然后我有一个应用程序,它将扩展架构并创建一个从 BaseContext 派生的新 DataContext。这是我在纸上的计划,但是 1) 继承 DataContexts 是如何工作的?

其次,我遇到了跨应用程序的连接字符串问题。我不需要运行 DLL 中的代码,但我需要能够设置派生应用程序的连接字符串,以便通用代码有用。2)有没有办法喜欢覆盖dll中的连接字符串?

4

1 回答 1

0

继承 DataContexts 是如何工作的?

就像继承其他任何东西一样。没有什么不同。

有没有办法喜欢覆盖 dll 中的连接字符串?

类库通常不包含它们的连接字符串;主机进程确实如此。宿主进程通常是客户端应用程序,或者更好的是服务(WCF 等)。连接字符串通常放在主机配置文件中。

注意:类库 (DLL) 不包含连接字符串的原因是因为它们不知道它们在哪个上下文(程序)下运行。在类库代码中,它仍然可以访问 ConfigurationManager 以获取连接字符串。主机进程只需要确保在 app.config 中定义了连接字符串。

于 2013-06-10T21:55:08.650 回答