[英]ef6 seed data with relationship
I have two models: 我有两个模型:
public class Language
{
[Key]
[Required]
[MaxLength(2), MinLength(2)]
public string Code { get; set; }
[Required]
public string Country { get; set; }
}
and the other one 另一个
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; }
}
Now I want to seed the db with data and tried: 现在我想为数据库添加数据并尝试:
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" },
.......
My problem is, I do not know how to seed Text on Language
field 我的问题是,我不知道如何在“
Language
字段中播种文本
context.Text.AddOrUpdate(
new Text[]
{
new Text() {Fieldname = "SERVER", Description = "Server", Language = },
}
);
Your code could look like this by querying for a language from the existing in the context. 通过从上下文中现有的语言中查询语言,您的代码可能看起来像这样。
context.Text.AddOrUpdate(
new Text[]
{
new Text() {
Fieldname = "SERVER",
Description = "Server",
Language = context.Language.Where(l => l.Code == "AX").FirstOrDefault()
},
//More new Text() here...
}
);
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.