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(…)