如何将实体框架与根对象DTO一起使用



我试图通过实体框架构建一个或多个具有映射的表,但是,我在使用从正在使用的API构造的DTO文件时遇到了问题。

这是我正在使用的DTO文件,我从POSTMAN为JSON数据专门粘贴了它。

public class AllRequests
{
public class Rootobject
{
public Operation operation { get; set; }
}
public class Operation
{
public Result result { get; set; }
public Detail[] details { get; set; }
}
public class Result
{
public string message { get; set; }
public string status { get; set; }
}
public class Detail
{
public string requester { get; set; }
public string workorderid { get; set; }
public string accountname { get; set; }
public string createdby { get; set; }
public string subject { get; set; }
public string technician { get; set; }
public string isoverdue { get; set; }
public string duebytime { get; set; }
public string priority { get; set; }
public string createdtime { get; set; }
public string ignorerequest { get; set; }
public string status { get; set; }
}
}

正如您在上面看到的,它是非常层次化的,所以它不像从简单的类文件生成表那样直接。

这是我的DbContext文件:

public class TransitionContext : DbContext
{
private const string connectionString = (connection);
protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
{
optionsBuilder.UseSqlServer(connectionString);
}
public DbSet<AllRequests> Requests { get; set; }
}

我已经设置了运行良好的迁移,有一个到我的SQL Server的连接。但是,当我在PM控制台中运行Update-Database命令时,它将不起作用。这些错误不是直接的,但它们让我绕圈子跑,首先是设置了一个ID键,然后是表关系,但没有关于如何做到这一点的好的源材料。

有人能教我如何在SQL Server上通过实体框架成功实现这个DTO吗?我猜它会利用模型创建者,但我仍然不确定这个过程在这种情况下是如何完全工作的。

如有任何帮助,我们将不胜感激。

尝试使用[NotMapped],就像错误消息建议的一样

public class Operation
{
public Result result { get; set; }
[NotMapped]
public Detail[] details { get; set; }
}

如果你需要这个数组。。。EF需要一个导航的方法。

最新更新