Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/22.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#_.net_Entity Framework_Obfuscation_Dotfuscator - Fatal编程技术网

C# 实体框架集合在混淆后为空

C# 实体框架集合在混淆后为空,c#,.net,entity-framework,obfuscation,dotfuscator,C#,.net,Entity Framework,Obfuscation,Dotfuscator,我有以下代码: [Table("People")] public class Person { [Key] public int PersonId { get; set; } public string Name { get; set; } } public class Employee : Person { public virtual Company WorksForCompany { get; set; } [ForeignKey("Works

我有以下代码:

[Table("People")]
public class Person
{
    [Key]
    public int PersonId { get; set; }

    public string Name { get; set; }
}

public class Employee : Person
{
    public virtual Company WorksForCompany { get; set; }

    [ForeignKey("WorksForCompany")]
    public int? WorksForCompanyId { get; set; }
}

[Table("Companies")]
public class Company
{
    public Company()
    {
        Employees = new List<Employee>();
    }

    [Key]
    public int CompanyId { get; set; }

    [InverseProperty("WorksForCompany")]
    public virtual ICollection<Employee> Employees { get; set; }
}
EF日志显示,在测试列表项的数量之前,不会执行填充员工列表的SQL查询。公司的类型是动态代理类,在这两种情况下,员工的类型都是列表


什么东西可能会被打破,以致列表不再填写?我还可以检查什么来找出不同之处?有什么有趣的运行时类型可以看吗?

你说的模糊化是什么意思?属性?这些被称为数据注释。顺便问一下,你是不是先做代码?那么表和键注释就没有必要了:按照惯例,EF将使用相同的名称和键。是的,代码优先。属性仅用于指定表名。不确定这里是否需要它们。数据库架构来自较旧的系统。我不使用EF迁移。这可能是个愚蠢的问题,但你是否在同一个数据库上运行模糊版本?是的,我使用。我已经调查过了。应用程序在之前自己编写这些条目。
Assert.AreEqual(4, company.Employees.Count());