Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/304.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# ef6种子数据与关系_C#_Entity Framework - Fatal编程技术网

C# ef6种子数据与关系

C# ef6种子数据与关系,c#,entity-framework,C#,Entity Framework,我有两种型号: public class Language { [Key] [Required] [MaxLength(2), MinLength(2)] public string Code { get; set; } [Required] public string Country { get; set; } } 另一个呢 public class Text { private string _fieldname

我有两种型号:

  public class Language
  {
    [Key]
    [Required]
    [MaxLength(2), MinLength(2)]
    public string Code { get; set; }
    [Required]
    public string Country { get; set; }
  }
另一个呢

  public class Text
  {

    private string _fieldname;

    public int Id { get; set; }
    [Required]
    public virtual Language Language { get; set; }

    [Required]
    [MinLength(1)]
    [MaxLength(30)]
    public string Fieldname {
      get { return _fieldname; }
      set { _fieldname = value.ToUpper(); }
    }

    [MaxLength(50)]
    [MinLength(1)]
    [Required]
    public string Description { get; set; }
  }
现在我想在数据库中植入数据并尝试:

context.Language.AddOrUpdate(
        new Language[]
        {
          new Language() { Code = "AF", Country = "Afghanistan" },
          new Language() { Code = "AX", Country = "Aland Islands" },
          new Language() { Code = "AL", Country = "Albania" },
          new Language() { Code = "DZ", Country = "Algeria" },
          new Language() { Code = "AS", Country = "American Samoa" },
          new Language() { Code = "AD", Country = "Andorra" },
          new Language() { Code = "AO", Country = "Angola" },
          new Language() { Code = "AI", Country = "Anguilla" },
          new Language() { Code = "AQ", Country = "Antarctica" },
          new Language() { Code = "AG", Country = "Antigua and Barbuda" },
          new Language() { Code = "AR", Country = "Argentina" },
          new Language() { Code = "AM", Country = "Armenia" },
          .......
我的问题是,我不知道如何在
Language
字段中播种文本

   context.Text.AddOrUpdate(
        new Text[]
        {
          new Text() {Fieldname = "SERVER", Description = "Server", Language = }, 
        }
        );

通过从上下文中的现有语言查询语言,您的代码可能是这样的

context.Text.AddOrUpdate(
    new Text[]
    {
      new Text() {
        Fieldname = "SERVER",
        Description = "Server", 
        Language = context.Language.Where(l => l.Code == "AX").FirstOrDefault()
        }, 
        //More new Text() here...
    }
);

通过从上下文中的现有语言查询语言,您的代码可能是这样的

context.Text.AddOrUpdate(
    new Text[]
    {
      new Text() {
        Fieldname = "SERVER",
        Description = "Server", 
        Language = context.Language.Where(l => l.Code == "AX").FirstOrDefault()
        }, 
        //More new Text() here...
    }
);

您可以在上下文中查询先前添加的语言,就像
language=context.language.Where(…)
您可以在上下文中查询先前添加的语言,就像
language=context.language.Where(…)