c# - CSV 到使用实体框架的级联模型
问题描述
我需要使用实体框架将自动 CSV 文件转换为多个数据库列。它的设置使每个模型都有孩子。所以它Animal
包含一个列表,Types
其中包含一个列表Classification
。这样Classification
子是孙子Animal
现在我有这三个模型需要用 CSV 文件填充。该文件按以下方式格式化:
然后将它们从 API 拉到 Windows 桌面应用程序中作为级联下拉框。到目前为止,我已经尝试将它们添加到单独的列表中,但是在使用实体框架时没有上传。当前的方法是尝试将列表向下级联但是我得到一个错误
序列不包含事件
这是我遇到问题的代码部分(由于工作规则必须编辑,因此类不同):
var Animal = new List<AnimalModel>();
var lines = await ReadStreamAsync(new StreamReader(uploadModel.File.OpenReadStream()));
foreach(string l in lines)
{
Animal.Add(new AnimalModel
{
AnimalName = cells[0],
});
Animal.Last().Type.Add(new TypeModel
{
TypeName = cells[1],
});
Animal.Last().Type.Last().Classification.Add(new ClassificationModel
{
Type = Type.Last(),
ClassificationName = cells[2],
Color = cells[3],
Age = cells[4]
});
}
解决方案
我解决了这个问题。我需要在代码中初始化列表,因为我没有在模型中这样做。以下工作:
var Animal = new List<AnimalModel>();
var lines = await ReadStreamAsync(new StreamReader(uploadModel.File.OpenReadStream()));
foreach(string l in lines)
{
Animal.Add(new AnimalModel
{
AnimalName = cells[0],
Type = new List<TypeModel>()
{
new TypeModel()
{
TypeName = cells[1]
}
}
});
等孙子。我将不得不清理它,因为它很乱,但现在可以了。
推荐阅读
- api - 显示内部连接,以 laravel7 作为后端,以 angular11 作为前端
- python - 在这个“生成括号”问题中,回溯是如何工作的?
- r - 如何将具有多个相似列但具有单个不同列的行组合起来
- mysql - 银行数据库中的“客户ID”可以有什么样的数据类型?INT 还是 VARCHAR?
- android - Android FCM 通知未弹出
- javascript - 视频不渲染
- oauth-2.0 - 使用 OAUTH 验证 Salesforce 客户用户失败
- java - 无法通过 Testrunner 类运行 Cucumber 场景作为 Intellij 中的 TestNG 测试
- vba - 将外部文本文件导入ppt文本框
- c++ - 使用 `std::max_element` `error: void value not ignored as it should be`