如何使用EF7将数组类型添加到我的数据库?

时间:2016-05-09 17:08:57

标签: c# entity-framework entity-framework-core

我正在使用ASP.NET MVC 6和Entity Framework 7。

我的模特:

public class Contact {

    public int[] SelectedEstimator { set; get; }

}

我收到以下错误:

System.InvalidOperationException: The property 'SelectedEstimator'
on entity type 'ContactsManagerV3.Models.Contact' 
has not been added to the model or ignored.

如果我将SelectedEstimator属性更改为int,则它可以正常工作。我如何让int []工作?

我试图关注MVC 6 - TagHelper Select

1 个答案:

答案 0 :(得分:2)

您无法创建int[]类型的列(实际上不能是任何类型的数组),这是您尝试使用SelectedEstimator属性执行的操作。您可以按照这个答案(How to store double[] array to database with Entity Framework Code-First approach)将数组转换为字符串以保存数组,然后从字符串转换为数组以获取它,或者您可以执行以下操作:

public class Estimator{

      public int EstimatorId {get;set;}

      public int Value {get;set;}

      public int ContactId {get;set;}

      public Contact Contact {get;set;}
}

public class Contact {

      public int ContactId {get;set;}

      public ICollection<Estimator> SelectedEstimator { set; get; }   

}

现在,您可以选择Estimator.Value来完成所需的操作。希望它有所帮助