我有两个类:
Campaign
which references a class customer:public class Campaign { [Key] [Required] public int id { get; set; } public int? CustomerId { get; set; } [ForeignKey("CustomerId")] public virtual Customer customer { get; set; } }
And
Customer
:public class Customer { [Key] [Required] public int id { get; set; } [Required] public string name { get; set; } [Required] public double turnover { get; set; } public virtual ICollection<Campaign> campaigns { get; set; } }
这是一个插入方法:
async Task<Campaign> ICampaignRepository.InsertCampaign(Campaign campaign)
{
try
{
_context.Campaigns.Add(campaign);
await _context.SaveChangesAsync();
return campaign;
}
catch (Exception)
{
throw;
}
}
我正在使用 Microsoft.EntityFrameworkCore.Proxies
包进行 延迟加载。
在添加一个具有 customerId
的活动实例后,在插入的对象中不会惰性加载 customer
。请注意,我尝试通过 id
获取活动,然后返回它,但问题仍然存在,并且我想避免显式加载 customer
。
当对现有记录执行提取操作时,延迟加载完美地工作。
_context.CreateProxy()
创建对象。 - poke_context.CreateProxy()
来创建父对象或导航属性吗? - khalilCreateProxy()
吗? - khalil