【发布时间】: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