this thread
   
   寻求帮助。
  
  
   我正在实施
   
    NUnit
   
   
    .NET Web API 2
   
   项目。我们使用
   
    Entity Framework
   
   
    code-first from database
   
   
    Entity
   
   我们没有单独的数据访问层项目,也没有
   
    Migrations
   
  
  
   我有我的主
   
    api
   
   项目,以及
   
    apiIntegrationTests
   
   
    我的目标是让我的IntegrationTests项目使用一个LocalDB数据库(使用dev数据库中的数据填充),独立于我们的开发数据库。
   
  
  
   在
   
    API集成测试
   
   项目,我已经设置了一个连接字符串
   
    App.config
   
   对于LocalDb实例:
  
  <add name ="TestDatabase" providerName="System.Data.SqlClient" connectionString="Data Source=(LocalDb)\MSSQLLocalDB;Database=TestDatabase;Integrated Security=True"/>
  
   我创建了一个基类,希望每次
   
   
   集成测试已运行。这可能有错误:
  
  
   
    测试设置.cs
   
  
  using NUnit.Framework;
using System.Data.Entity;
using System.Transactions;
    namespace api.IntegrationTests
    {
        public class TestSetup
        {
            // What is this?
            protected MyDbContext DbContext;
            protected TransactionScope TransactionScope;
            // Maps to connection string in App.config
            public const string TestDatabaseName = "TestDatabase";
            [SetUp]
            public void SetUp()
            {
                // Create the database if it doesn't exist
                DbContext = new MyDbContext(TestDatabaseName);
                DbContext.Database.CreateIfNotExists();
                TransactionScope = new TransactionScope(TransactionScopeOption.RequiresNew);
            }
            [TearDown]
            public void TearDown()
            {
                if (TransactionScope != null)
                    TransactionScope.Dispose();
            }
        }
    }
  
   我在创建
   
    MyDbContext
   
   
    MyDbContext
   
   
   
   是应该做的。
  
  
   我的目标是
   
    MyDbContext.cs
   
   ,
   
    我想
   
   ,来填充我的集成测试LocalDB实例
   
    DbSet
   
   
    应用程序编程接口
   
   
    正确还是错误?
   
  
  
   谁能告诉我一些情况吗?我不确定用dev-db中的所有数据填充集成测试数据库是否是一个好主意,因为它是一个相当大的数据库。我希望我能具体说明
   
    一些
   
   对于dev db中的表,然后为以后的开发测试找到更好的解决方案(内存托管?)。现在如果我能成功地创造这个我会很高兴
   
    LocalDb
   
   测试数据库并用dev-db中的实际数据填充它。