我正在尝试将Shopify产品方案转换为EF6模型并更新数据库。出于某种原因,当我尝试运行命令时:" update-database",EF6给了我这个错误:
每个表中的列名必须是唯一的。列名称' Product_id'在表格'选项'被指定不止一次。
它确实生成了以下SQL表:
CREATE TABLE [dbo].[Images] (
[id] [nvarchar](128) NOT NULL,
[product_id] [nvarchar](max),
[position] [int] NOT NULL,
[created_at] [nvarchar](max),
[updated_at] [nvarchar](max),
[src] [nvarchar](max),
[Product_id] [nvarchar](128),
CONSTRAINT [PK_dbo.Images] PRIMARY KEY ([id])
如您所见,它有两个产品ID字段。我不知道从哪里得到第二个。
以下是我从Shopify json方案生成的一些类:
public class Product
{
//ProductId for EF use
public int ProductId { get; set; }
//shopify product id
public string id { get; set; }
public string title { get; set; }
public string body_html { get; set; }
public string vendor { get; set; }
public string product_type { get; set; }
public string created_at { get; set; }
public string handle { get; set; }
public string updated_at { get; set; }
public string published_at { get; set; }
public string template_suffix { get; set; }
public string published_scope { get; set; }
public string tags { get; set; }
public List<Variant> variants { get; set; }
public List<Option> options { get; set; }
public List<Image> images { get; set; }
public Image2 image { get; set; }
}
public class Image
{
public int ImageId { get; set; }
public string id { get; set; }
//public string product_id { get; set; }
public int position { get; set; }
public string created_at { get; set; }
public string updated_at { get; set; }
public string src { get; set; }
public List<string> variant_ids { get; set; }
}
知道如何解决这个问题吗?