У меня есть классы Персона и Собака.Собака принадлежит одному человеку, и у человека могут быть разные собаки (то есть один ко многим).
У меня есть метод испытания, который позволяет получить 2 человека из БД.Если человек не существует в БД, я делаю это.Затем я хочу сохранить 4 собаки.
Это тест:
Person person1= personResourceAccess.GetPersonByName("Person1");
if(person1==null)
{
Person person = new Person()
{
Name = "Person1"
};
person1= personResourceAccess.CreatePerson(person);
}
Person person2= personResourceAccess.GetPersonByName("Person2");
if(person2==null)
{
Person person = new Person()
{
Name = "Person2"
};
person2= personResourceAccess.CreatePerson(person);
}
Dog dog1 = new Dog(){name="Dog1", owner = person1};
Dog dog2 = new Dog(){name="Dog2", owner = person1};
Dog dog3 = new Dog(){name="Dog3", owner = person1};
Dog dog4 = new Dog(){name="Dog4", owner = person2};
dog1 = dogResourceAccess.CreateDog(dog1);
dog2 = dogResourceAccess.CreateDog(dog2);
dog3 = dogResourceAccess.CreateDog(dog3 );
dog4 = dogResourceAccess.CreateDog(dog4 );
Это код доступа к ресурсу:
public Dog CreateDog(Dog dog)
{
try
{
db.Dogs.AddObject(dog);
db.SaveChanges();
return dog;
}
catch(Exception ex)
{
return null
}
}
Когда я сохраняюПервая собака, все остальные собаки созданы в БД.Почему это так и как я могу предотвратить это?Я думаю, что это может иметь какое-то отношение к контексту, но я не могу решить проблему.