在ASP.NET核心MVC上绘制外键CSVHELPER

发布于 2025-01-27 05:27:43 字数 1467 浏览 4 评论 0原文

我有几个外国关键领域,CountyID,Subcountyid,Wardid和ViryatiD,它们与县,子县等链接。桌子很明显。现在,我已经为null进行了头部服务,丢失fieldfound = null如何使用转换链接以链接外键条目?目前,有了以下代码,外键条目没有映射,我的相关表最终将插入新值。

List < Farmer > farmers = new List < Farmer > ();

#
region Read CSV

var path = $ "{Directory.GetCurrentDirectory()}{@"\
wwwroot\ files "}" + "\\" + fileName;
var conf = new CsvConfiguration(CultureInfo.InvariantCulture) {
  HeaderValidated = null,
    MissingFieldFound = null,
};
using(var reader = new StreamReader(path))
using(var csv = new CsvReader(reader, conf)) {
  csv.Read();
  csv.ReadHeader();
  while (csv.Read()) {
    var farmer = csv.GetRecord < Farmer > ();
    farmers.Add(farmer);
  }
}
return farmers;

农民课看起来像这样。

public class Farmer
{
    public int Id { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string PhoneNumber { get; set; }

    public int? VarietyId { get; set; }

    public virtual Variety Variety { get; set; }

    public int? CountyId { get; set; }

    public virtual County County { get; set; }

    public int? SubCountyId { get; set; }

    public virtual SubCounty SubCounty { get; set; }

    public int? WardId { get; set; }

    public virtual Ward Ward { get; set; }

    public int? TownId { get; set; }

    public virtual Town Town { get; set; }
}

I have several foreign key fields, CountyId, SubCountyId, WardId and VarietyId, they link to county, subcounty etc. tables, obviously. Now, I have HeaderValidated as null, MissingFieldFound = null how can I use convert to link the foreign key entries? Right now with the code below, the foreign key entries are not mapped and my related tables end up having new values inserted.

List < Farmer > farmers = new List < Farmer > ();

#
region Read CSV

var path = $ "{Directory.GetCurrentDirectory()}{@"\
wwwroot\ files "}" + "\\" + fileName;
var conf = new CsvConfiguration(CultureInfo.InvariantCulture) {
  HeaderValidated = null,
    MissingFieldFound = null,
};
using(var reader = new StreamReader(path))
using(var csv = new CsvReader(reader, conf)) {
  csv.Read();
  csv.ReadHeader();
  while (csv.Read()) {
    var farmer = csv.GetRecord < Farmer > ();
    farmers.Add(farmer);
  }
}
return farmers;

The Farmer class looks like this.

public class Farmer
{
    public int Id { get; set; }

    public string FirstName { get; set; }

    public string LastName { get; set; }

    public string PhoneNumber { get; set; }

    public int? VarietyId { get; set; }

    public virtual Variety Variety { get; set; }

    public int? CountyId { get; set; }

    public virtual County County { get; set; }

    public int? SubCountyId { get; set; }

    public virtual SubCounty SubCounty { get; set; }

    public int? WardId { get; set; }

    public virtual Ward Ward { get; set; }

    public int? TownId { get; set; }

    public virtual Town Town { get; set; }
}

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文