Entity framework .NET Core 3.1-控制台应用程序&x2B;EF-。包括不加载数据
我通常会找到一种方法来实现这一点,但在这里,包含的数据为空,运行在C#console应用程序中 (虽然相同的代码在我的web应用程序中工作) 联系人和公司均为空,EF不获取相关数据 这就是我创建配置的方式Entity framework .NET Core 3.1-控制台应用程序&x2B;EF-。包括不加载数据,entity-framework,asp.net-core,include,Entity Framework,Asp.net Core,Include,我通常会找到一种方法来实现这一点,但在这里,包含的数据为空,运行在C#console应用程序中 (虽然相同的代码在我的web应用程序中工作) 联系人和公司均为空,EF不获取相关数据 这就是我创建配置的方式 var builder = new ConfigurationBuilder() .SetBasePath(Directory.GetCurrentDirectory()) .AddJsonFile("appse
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
configuration = builder.Build();
谢谢你在这方面的帮助
[编辑]
以下是lead类:
[Table("leads")]
public class Lead
{
[Required]
public int? Id { get; set; }
[Required]
public Company Company { get; set; }
[Required]
public User Contact { get; set; }
}
我认为,要使导航属性正常工作,EF core需要FKs。但不确定这是如何通过网络应用程序工作的。如果可能,请尝试使用FKs,如: [表(“潜在客户”)] 公共级领导 { [必需] 公共int?Id{get;set;}
public int CompanyId { get; set; }
public int UserId { get; set; }
[Required]
public Company Company { get; set; }
[Required]
public User Contact { get; set; }
}
请显示您的潜在客户类别。如果数据出现在web应用程序中,而不是控制台中,那么我将高度怀疑控制台应用程序正在解析的连接字符串。另一种可能性可能取决于DbContext、实体的位置,以及使用EntityTypeConfiguration和类似modelBuilder的任何配置.Configurations.AddFromAssembly,其中web应用程序能够解析实体类型配置的位置,但基于控制台的应用程序不能解析实体类型配置的位置,并且默认为未连接FK的约定。连接字符串正常,基类(Lead)有数据,但没有FK表“但是基于控制台的没有,并且默认为FK未连接的约定”我如何解决?我在web应用程序中使用web控制器类之外的实体时遇到了相同的问题直到相同,数据没有加载至少我获得了id,所以我可以手动获取数据,但这是。。。。
var builder = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory())
.AddJsonFile("appsettings.json", optional: false, reloadOnChange: true);
configuration = builder.Build();
[Table("leads")]
public class Lead
{
[Required]
public int? Id { get; set; }
[Required]
public Company Company { get; set; }
[Required]
public User Contact { get; set; }
}
public int CompanyId { get; set; }
public int UserId { get; set; }
[Required]
public Company Company { get; set; }
[Required]
public User Contact { get; set; }
}