我有一个使用 linq-to-sql 查询(即将升级为 linq-to-EF 编译查询)的 Web 应用程序,并且已经有数据上下文和数据库。我想创建应用程序的演示版本,对于演示,我想使用一个完全不同的数据库文件,但它具有相同的表。因此,本质上,我将为两个不同的数据库使用相同的数据结构:一个用于登录用户的数据库,一个用于演示用户的数据库。我想重用我已经写过的许多查询;它们看起来像这样:
public class FruitQueries
{
public List<SomeObjectModel> MyQuery(list of parameters)
{
using (MyDataContext TheDC = new MyDataContext())
{
var TheQueryResult = (from f in TheDC.Fruits
......).ToList();
return TheQueryResult;
}
}
public List<SomeObject> AnotherQuery(some other parameters) {...}
}
现在我想我知道这需要依赖注入,其中数据上下文作为参数传入,但我不确定语法。如何使用依赖注入重用查询以使它们在两个不同的数据库上工作?现在我正在使用一个using
语句,我想保持这种模式;如果我将 DC 作为参数注入,这可能吗?
谢谢。