首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >ASP.NET Effort CsvLoader不返回数据

ASP.NET Effort CsvLoader不返回数据
EN

Stack Overflow用户
提问于 2019-02-11 18:56:47
回答 1查看 175关注 0票数 0

我正在使用Entity Framework6和Code First,我想模拟我的DbContext进行单元测试。因为单元测试需要大量的测试数据,所以我想使用实体框架工作(https://entityframework-effort.net/)从csv文件中加载它们。

我没有得到任何错误,但我也没有从csv文件中获得任何数据。我得到的只是一个没有数据的DbContext (代码中的FapContext )。

你有什么建议来解决我的问题吗?

使用NUnit进行单元测试:

代码语言:javascript
复制
    private FapContext context;
    private IUnitOfWork unitOfWork;
    private IDataLoader csvLoader;
    private IDataLoader dataLoader;

    [SetUp]
    public void SetUp()
    {
        this.csvLoader = new CsvDataLoader(@"C:\path\TestData\CSV-TestData");
        this.dataLoader = new CachingDataLoader(this.csvLoader, false);
        DbConnection connection = DbConnectionFactory.CreateTransient(this.dataLoader);

        try
        {
            this.context = new FapContext(connection);
            this.context.Database.CreateIfNotExists();
        }
        catch (Exception e)
        {
            Debug.Print(e.GetType().FullName);
            throw;
        }

        this.unitOfWork = new UnitOfWork(this.context);
    }

    [Test]
    public void ShouldReturnData()
    {
        // Arrange
        List<State> states = this.context.States.ToList();

        // Act

        // Assert
        Assert.IsNotNull(states);           // passes
        Assert.IsTrue(states.Count > 0);    // don't pass
    }

CSV-文件:

代码语言:javascript
复制
ID,StateGroupID,Name,Description,CreatedAt,ChangedAt,RowVersion
"187968CE-0489-4A57-81F4-0BECDF9CC005","5FBAD179-68F5-46D2-A0A6-82516A3F2E4D","APPROVED","Approved material",,,
"222E365D-A8D7-4DFF-8807-18EC85481FD8","AED80358-D2A3-4CC9-A7E5-EA1C8931C27A","Running",,,,
"8433F457-31F1-40D4-AF78-2058415407F7","28E828D7-6B5B-9BEC-928D-101DEB38B4C5","Pending",,,,
EN

回答 1

Stack Overflow用户

发布于 2021-08-29 12:08:19

我知道这个问题很老了,但我最近在向一个旧的EF6项目添加测试时遇到了这个问题。

OP没有记录他们的CSV文件名。我将猜测您的文件名与DBContext的属性名不完全匹配。您需要匹配属性名,而不是类名。我假设你的复数根据模型/表的不同而不同。例如:我猜你的CSV文件名类似于State.csv,而你的DbContext属性名是States

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/54629014

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档