Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-core/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net core 值不能为null。参数名称:使用csv文件的数据种子设定中的流_Asp.net Core_Database Migration_Seeding - Fatal编程技术网

Asp.net core 值不能为null。参数名称:使用csv文件的数据种子设定中的流

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

我正在使用asp.net core和sql server中的CSV文件创建一个数据库种子设定。这是一个多驱动的数据结构。对于某些实体,下面的代码会正确更新数据。当我创建一个新的csv文件并尝试使用一个新实体时,它会给我值not found error。 我给出我的代码示例:

            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
->构建操作->嵌入式资源