首页 > 解决方案 > Entity Framework Core:当存储过程结果中不存在列时忽略列映射

问题描述

有时存储过程不发送site_citysite_state并且site_zip基于站点。当它没有像模型中那样发送所有列时,我收到此错误:

“FromSql”操作的结果中不存在所需的列“site_city”

我的代码:

public class ReportMap : IEntityTypeConfiguration<Report>
{
    public void Configure(EntityTypeBuilder<Report> builder)
    {
        builder.HasNoKey();
        builder.Property(v => v.SiteId).HasColumnName("site_id");
        builder.Property(v => v.SiteName).HasColumnName("site_name");
        builder.Property(v => v.SiteAddress).HasColumnName("site_address");
        builder.Property(v => v.SiteCity).HasColumnName("site_city");
        builder.Property(v => v.SiteState).HasColumnName("site_state");
        builder.Property(v => v.SiteZip).HasColumnName("site_zip");
    }
}

public class Report
{
        public int SiteId { get; set; }
        public string SiteName { get; set; }
        public string SiteAddress { get; set; }
        public string SiteCity { get; set; }
        public string SiteState { get; set; }
        public string SiteZip { get; set; }
}

如何使模型适用于这两种情况?因此,当存储过程的结果中不存在列时,它不应该映射该列。

标签: c#.net-coreentity-framework-core

解决方案


推荐阅读