Я прохожу сначала по EF6-коду и стараюсь немного его адаптировать к моему собственному проекту, но у меня возникла проблема при посеве базы данных инициализатор.EF6 посев через инициализатор и один-ко-многим ICollection
Я создал 2 класса:
режим недвижимости:
namespace MyApp.Models
{
public class Property
{
public int ID { get; set; }
public string PropertyName { get; set; }
public virtual PropertyType PropertyType { get; set; }
}
}
и режим Тип недвижимости:
namespace MyApp.Models
{
public class PropertyType
{
public int ID { get; set; }
public string Type { get; set; }
public ICollection<Property> Properties { get; set; }
}
}
Я понимаю, что есть один-ко-многим отношения между ними. 2. Свойством может быть только 1 тип свойства, но многие свойства могут иметь одинаковые типы свойств?
Однако, когда я пытаюсь инициализировать контекст и заполнение базы данных (используя код ниже), я получаю сообщение об ошибке:
public class MyAppInitializer : System.Data.Entity.DropCreateDatabaseIfModelChanges<MyAppContext>
{
protected override void Seed(MyAppContext context)
{
var propertytypedata = new List<PropertyType>
{
new PropertyType {ID = 1, Type="Villa" },
new PropertyType {ID = 2, Type="Apartment" }
};
propertytypedata.ForEach(p => context.PropertyType.Add(p));
context.SaveChanges();
var propertydata = new List<Property>
{
new Property {PropertyName="Property 1", PropertyType=1, }
};
propertydata.ForEach(p => context.Property.Add(p));
context.SaveChanges();
}
}
Проблема в том, что, когда я пытаюсь установить тип недвижимости на свойство я высева, он говорит:
Cannot implicitly convert type 'int' to 'MyApp.Models.PropertyType'
'PropertyType = 1,'. PropertyType - это сложный объект, а не целое число. –