LazyLoad和ConnectionString

时间:2011-03-14 22:57:35

标签: c# orm entity-relationship

对于你的思想类型问题,这是一分钱。

我们从头开始编写所有类。对于我们的业务实例,connectionstring是构造函数的一部分。这很简单,因为通常它是唯一的构造函数参数。当我们从数据库加载记录并将其存储在实体对象中时...我们应该如何记住连接字​​符串?这是为了延迟加载。因为我们可能正在与更多相同基本数据库类型的数据库实例进行交谈。我们需要知道从哪里获取记录并知道从哪里延迟相关对象。

我知道这听起来像一个简单的问题。我们正试图避免代码化。

我们是否将每个构造函数中的连接字符串设置为字符串以尝试强制设置它?我们是否存储对加载实体的业务对象的引用。同时,还认为在某些情况下从xml反序列化时我们需要一个空的构造函数。

没有这方面的经历,但想到了工厂。获取新实体对象必须通过必须证明连接字符串的工厂。

这不是一个经过探索的API,只是让团队能够正确实施和采用的东西。

某些链接/代码示例也会很棒。感谢

1 个答案:

答案 0 :(得分:1)

这是实体框架吗?你在使用POCO吗?你能利用EF内置的延迟加载功能吗?

对于它的价值,您可以询问上下文与其连接的数据库:

EntityConnection connection = myContext.Connection as EntityConnection;

if (connection != null)
    string db = connection.StoreConnection.Database;

虽然这可能没那么有用。