每个表中的列名必须是唯一的(EF6)

时间:2016-06-13 17:41:57

标签: entity-framework-6

我正在尝试将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; }
}

知道如何解决这个问题吗?

0 个答案:

没有答案