2010-05-26 32 views
0

我有一个ASP.NET Web应用程序使用相同的DataContextType访问具有相同模式的多个数据库。将原始连接字符串添加到Linq2Sql实体

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

不过,我觉得,因为我使用PLINQO它可以很容易做到,我已经有一个LinqEntityBase类可惜就像OnMyEntityLoaded(myEntity所实例)在DataContext类无分方法...

我看到的唯一方法是否在实体的OnLoaded方法中,但是我必须在当前的datacontext(或connectionString)前面的“somewhere”中保留ref,并在之后检索它,它根本看不到(如果我使用多个dbs在同一时间是不可能的)。

有人对我如何实现这个想法有了一个想法?

+0

看起来这很难做到这一点,为什么你需要知道实体来自哪里,根据你的使用情况不应该显而易见。你是否合并来自多个数据库的查询结果? – luke 2010-05-26 20:39:21

+0

其实我还没有合并结果,但我想,这是我尝试这样做的原因之一:),我还想根据该参数在某些函数中进行变化(而不是传递第二个论据)。 为了解决上下文中的问题,多个数据库为多站点CMS应用程序中的不同网站提供数据(我知道多个数据库并不酷,但出于安全考虑,这是一个客户端请求)。 – Guillaume86 2010-05-27 13:31:56

回答

1

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

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

+0

我需要的代码不在生成的文件中,它在MS DLL里面,我想我必须从头开始编写自己的DataContext以获得我想要的内容... – Guillaume86 2010-06-24 08:24:48