【问题标题】:Add the origin connectionString to Linq2Sql entities将原始连接字符串添加到 Linq2Sql 实体
【发布时间】:2010-05-26 09:50:19
【问题描述】:

我有一个 ASP.NET Web 应用程序,它使用相同的 DataContextType 来访问具有相同架构的多个数据库。

我遇到的一个问题是,我想通过向实体添加属性(例如 ConnectionString 属性)并在创建实体时自动分配来引用实体的原始数据库。

虽然我使用 PLINQO 可以轻松完成,但我已经有一个 LinqEntityBase 类,但不幸的是 DataContext 类中没有像 OnMyEntityLoaded(MyEntity instance) 这样的部分方法...

我看到的唯一方法是在实体的 OnLoaded 方法中,但我必须在“某处”之前保留对当前数据上下文(或 connectionString)的引用并在之后检索它,它看起来不像完全没问题(如果我同时使用多个数据库,这是不可能的)。

有人知道我该如何实现这一目标?

【问题讨论】:

  • 看起来很难做到这一点,为什么您需要知道实体来自哪里,根据您的使用情况不应该很明显。您是否正在合并来自多个数据库的查询结果?
  • 实际上我还没有合并结果,但我想,这是我尝试这样做的原因之一:),我还想根据它对某些功能进行更改参数(而不是传递第二个参数)。将问题放在上下文中,多个数据库在多站点 CMS 应用程序中具有不同网站的数据(我知道多个数据库并不酷,但出于安全原因,这是客户请求)。

标签: c# linq-to-sql entity datacontext


【解决方案1】:

PLINQO 是开源的。如果您需要部分方法,您可以将其添加到 CodeSmith 模板中。

此外,您可以在他们的论坛或 GoogleCode 问题跟踪器上提交功能请求。
http://code.google.com/p/codesmith/issues/list

【讨论】:

  • 我需要的代码不在生成的文件中,它在 MS dll 中,我想我必须从头开始编写自己的 DataContext 才能得到我想要的......
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-11-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多