我有课
public class SetParts
{
public int id { get; set; }
public Part part { get; set; }
public Color color { get; set; }
public int quantity { get; set; }
}
部分是
public class Part
{
public int id { get; set; }
public string part_num { get; set; }
public string name { get; set; }
}
和颜色
public class Color
{
public int id { get; set; }
public string name { get; set; }
public string rgb { get; set; }
}
我从“SetParts”的 API 中获得一个列表,但不同的列表可以包含与另一个“SetPart”相同的“颜色”(同样适用于“Part”)。
我遇到的问题是每次添加“SetParts”时,它都会复制颜色....和零件
我怎样才能轻松阻止这种情况?
编辑: 检索到的每个 SetParts 都是唯一的,但它们可以包含相同的颜色和零件 在这种情况下 Part 和 Color 是相同的,(相同的 id)
using (var db = new DBContext())
{
db.AddRange(data);
db.SaveChanges();
}
data 是通过 API 获取的 List
答案 0 :(得分:0)
我怎样才能轻松阻止这种情况?
从数据库中检索现有颜色或使用现有颜色的 ID 并设置(对于通过在子端具有 ColorID 属性映射的类)
现在您可能只是让 API 提供一个带有蓝色的 SetParts 并保存它,然后另一个带有另一种蓝色的 SetParts 并保存它。
它们不会是重复的(它们会有不同的 ID),但它们可能都是蓝色的。如果要使用现有颜色(例如 id=1 的蓝色),请在保存之前指定该现有颜色