Asp.net core 值不能为null。参数名称:使用csv文件的数据种子设定中的流
我正在使用asp.net core和sql server中的CSV文件创建一个数据库种子设定。这是一个多驱动的数据结构。对于某些实体,下面的代码会正确更新数据。当我创建一个新的csv文件并尝试使用一个新实体时,它会给我值not found error。 我给出我的代码示例:Asp.net core 值不能为null。参数名称:使用csv文件的数据种子设定中的流,asp.net-core,database-migration,seeding,Asp.net Core,Database Migration,Seeding,我正在使用asp.net core和sql server中的CSV文件创建一个数据库种子设定。这是一个多驱动的数据结构。对于某些实体,下面的代码会正确更新数据。当我创建一个新的csv文件并尝试使用一个新实体时,它会给我值not found error。 我给出我的代码示例: Assembly Asm = Assembly.GetExecutingAssembly(); string[] names = Asm.GetManifestResource
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");
}
}
Assembly Asm=Assembly.getExecutionGassembly();
字符串[]名称=Asm.GetManifestResourceNames();
foreach(名称中的变量名)Debug.WriteLine(名称);
字符串assemblyName=Asm.GetName().Name;
字符串emailTemplateName=“IndustryAPI.Setup.VendorRating.csv”;
emailTemplateName=assemblyName+“+”emailTemplateName;
字符串resourceName5=“IndustryAPI.Setup.VendorRating.csv”;
使用(Stream=Asm.GetManifestResourceStream(resourceName5))
{
使用(StreamReader=newstreamreader(stream,Encoding.UTF8))
{
CsvReader CsvReader=新的CsvReader(读卡器);
csvReader.Configuration.RegisterClassMap();
csvReader.Configuration.MissingFieldFound=null;
var Rat=csvReader.GetRecords().ToArray();
foreach(大鼠的自动记录)
{
customerList.Add(记录);
}
}
}
builder.Entity().HasData(customerList);
公共类VendorRatingMap:ClassMap
{
公共供应商RATINGMAP()
{
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
的构建操作是嵌入式资源
右键单击VendorRating.csv
->构建操作->嵌入式资源