Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/315.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 从实体框架收集资产数据_C#_Entity Framework_Unit Testing_Nunit - Fatal编程技术网

C# 从实体框架收集资产数据

C# 从实体框架收集资产数据,c#,entity-framework,unit-testing,nunit,C#,Entity Framework,Unit Testing,Nunit,由于某些原因,我无法将CollectionAssert与NUnit和实体框架一起使用。我有一个预期结果列表(本例中为客户)和从EF返回的集合 当我尝试检查结果是否匹配时,我没有从EF中获得我期望的类型,而是得到了一个名为System.Data.Entity.DynamicProxies 这是我的单元测试: var expectedSearchResult = new SearchResult() { FoundCustomers = new List<Customer>()

由于某些原因,我无法将
CollectionAssert
与NUnit和实体框架一起使用。我有一个预期结果列表(本例中为客户)和从EF返回的集合

当我尝试检查结果是否匹配时,我没有从EF中获得我期望的类型,而是得到了一个名为
System.Data.Entity.DynamicProxies

这是我的单元测试:

var expectedSearchResult = new SearchResult()
{
    FoundCustomers = new List<Customer>() {
        new Customer
        {
            FirstName = "Test", LastName = "Test", City = "Test", Country = "test", Phone = "00000000000" }
        }
};
var result = searchService.GeneralSearch("Test");
// Here I am expecting exactly one customer in result.FoundCustomers
// but I get a DynamicProxy instead
CollectionAssert.AreEqual(expectedSearchResult.FoundCustomers, result.FoundCustomers);
var expectedSearchResult=newsearchresult()
{
FoundCustomers=新列表(){
新客户
{
FirstName=“Test”,LastName=“Test”,City=“Test”,Country=“Test”,Phone=“00000000000”}
}
};
var结果=searchService.GeneralSearch(“测试”);
//在这里,我只希望结果中有一个客户。FoundCustomers
//但是我得到了一个动力氧气
CollectionAssert.AreEqual(expectedSearchResult.FoundCustomers,result.FoundCustomers);

NUnit是否与实体框架不兼容?我遗漏了什么?

如果您使用EF,您应该知道的功能。即使如此,您也会比较两个不同的对象(
新客户
和EF的对象)。CollectionAssert.AreEqual将永远不会通过,除非您提供一个比较器。来自EF的比较器和这里的新客户是同一类型的,尽管您可以创建同一类型的许多不同对象。相同的属性值并不意味着它们“相等”。那么我应该如何从这里开始呢?从代理人那里选演员?