我当前正在使用包装器类为 linq to sql 数据上下文设置连接字符串,以便我可以将连接字符串传递到生成的 DataContext 构造函数中:
public class DB : GeneratedDataContext {
public DB() : base(ConfigurationManager.ConnectionStrings["myconnectionstring"].ConnectionString) { }
}
我的 LinqToSql 存储库实现然后直接使用 DB 类。
我正在使用 StructureMap,想知道这是否是最佳方法,即我是否应该将连接字符串参数作为我的存储库上的构造函数,并在我的 StructureMap 引导捆绑程序中设置此参数?
谢谢, 本
最佳答案
对您问题的简短回答:是的,结构图应该处理数据库连接的配置。
我使用这样的东西来向结构图注册我的数据上下文
ForRequestedType<MyDataContext>()
.CacheBy(StructureMap.Attributes.InstanceScope.Hybrid)
.TheDefault.Is.ConstructedBy(
() =>
new MyDataContext(ConfigurationManager
.ConnectionStrings["MyConnectionString"]
.ConnectionString)
);
这样,您的数据上下文也不需要包装器。
关于linq-to-sql - StructureMap 和 LINQ to SQL 连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2411144/