值不能为空。参数名称:使用csv文件进行数据播种的流
Value cannot be null. Parameter name: stream in data seeding using csv file
我正在 asp.net 核心中使用 CSV 文件创建数据库播种,sql server.This 是一个多驱动数据结构。对于以下代码的某些实体,正确更新数据。当我创建一个新的 csv 文件并尝试使用一个新实体时,它会给我找不到值的错误。
吹我给我的代码示例:
Assembly Asm = Assembly.GetExecutingAssembly();
string[] names = Asm.GetManifestResourceNames();
foreach (var name in names) Debug.WriteLine(name);
string assemblyName = Asm.GetName().Name;
string emailTemplateName = "IndustryAPI.Setup.VendorRating.csv";
emailTemplateName = assemblyName + "." + emailTemplateName;
string resourceName5 = "IndustryAPI.Setup.VendorRating.csv";
using (Stream stream = Asm.GetManifestResourceStream(resourceName5))
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
CsvReader csvReader = new CsvReader(reader);
csvReader.Configuration.RegisterClassMap<VendorRatingMap>();
csvReader.Configuration.MissingFieldFound = null;
var Rat = csvReader.GetRecords<VendorRating>().ToArray();
foreach (VendorRating record in Rat)
{
customerList.Add(record);
}
}
}
builder.Entity<VendorRating>().HasData(customerList);
public class VendorRatingMap : ClassMap<VendorRating>
{
public VendorRatingMap()
{
Map(m => m.Id).Name("Id");
Map(m => m.VendorId).Name("VendorId");
Map(m => m.Name).Name("Name");
Map(m => m.Comment).Name("Comment");
Map(m => m.Value).Name("Value");
}
}
它只读取三个资源文件。我删除了 csv 文件并重新创建它,但仍然是同样的问题。我做错了什么????
确保 VendorRating.csv
的 Build Action
是 Embedded resource
。
Right-Click VendorRating.csv
->生成操作->嵌入资源。
我正在 asp.net 核心中使用 CSV 文件创建数据库播种,sql server.This 是一个多驱动数据结构。对于以下代码的某些实体,正确更新数据。当我创建一个新的 csv 文件并尝试使用一个新实体时,它会给我找不到值的错误。 吹我给我的代码示例:
Assembly Asm = Assembly.GetExecutingAssembly();
string[] names = Asm.GetManifestResourceNames();
foreach (var name in names) Debug.WriteLine(name);
string assemblyName = Asm.GetName().Name;
string emailTemplateName = "IndustryAPI.Setup.VendorRating.csv";
emailTemplateName = assemblyName + "." + emailTemplateName;
string resourceName5 = "IndustryAPI.Setup.VendorRating.csv";
using (Stream stream = Asm.GetManifestResourceStream(resourceName5))
{
using (StreamReader reader = new StreamReader(stream, Encoding.UTF8))
{
CsvReader csvReader = new CsvReader(reader);
csvReader.Configuration.RegisterClassMap<VendorRatingMap>();
csvReader.Configuration.MissingFieldFound = null;
var Rat = csvReader.GetRecords<VendorRating>().ToArray();
foreach (VendorRating record in Rat)
{
customerList.Add(record);
}
}
}
builder.Entity<VendorRating>().HasData(customerList);
public class VendorRatingMap : ClassMap<VendorRating>
{
public VendorRatingMap()
{
Map(m => m.Id).Name("Id");
Map(m => m.VendorId).Name("VendorId");
Map(m => m.Name).Name("Name");
Map(m => m.Comment).Name("Comment");
Map(m => m.Value).Name("Value");
}
}
确保 VendorRating.csv
的 Build Action
是 Embedded resource
。
Right-Click VendorRating.csv
->生成操作->嵌入资源。