实体框架在单独的dll中

时间:2016-01-23 13:52:03

标签: .net entity-framework unit-testing configuration

我有一个类库,其中我使用了实体框架

enter image description here

我添加了一个单元测试项目来测试DAL dll:

[TestMethod]
public void TestConnection()
{
    try
    {
        ICrud<ajt_demande> dem = new Crud<ajt_demande>();
        List<ajt_demande> lst = (List<ajt_demande>)dem.GetAll();
        Console.WriteLine(lst.Count);
    }
    catch (Exception ex)
    {
        Console.WriteLine(ex.ToString());
        throw new AssertFailedException();
    }
}

我收到异常表示找不到连接字符串!!!

我需要知道:

  1. 这个例外的原因是什么?
  2. 解决这个问题的更聪明方法是什么?

1 个答案:

答案 0 :(得分:1)

连接字符串取自执行程序集(在您的情况下是AjTransport.Test)。因此,您需要在那里定义连接字符串。有一些选择:

  1. 直接传递连接字符串作为构造函数的一部分(如果可能)
  2. 将app.config添加到定义连接字符串的测试项目中。