Шаблон универсального репозитория EF - проблема вставки / создания метода при вставке корневого объекта с вложенными объектами - PullRequest
0 голосов
/ 17 мая 2018
public class A
{
    string Id {get; set;}
    string Property_1 {get; set;}
    string Property_2 {get; set;}

    // Foreign Key for Class B
    string B_Id {get; set;}
    // Many to One Relationship
    B objectOfClassB {get; set;}

    // One to Many Relationship
    ICollection<objectOfClassC> listOfClassC {get; set;}
}

У нас есть объект класса A, который мы пытаемся вставить. Мы также передаем значения для класса B и класса C (список), которые являются дочерним объектом класса A.

При вставке мы хотим сначала проверить, нет ли в таблице базы данных подобъекта, т.е. значений ObjectofClassB. Если он присутствует, просто добавьте его внешний ключ в таблицу класса А.

Так как же мы можем предотвратить отсоединение или не вставку только objectOfClassB (подобъекта)?

Примечание. Я хочу вставить listOfClassC (еще один дочерний объект)

1 Ответ

0 голосов
/ 17 мая 2018

Сначала вы проверяете, есть ли класс B в базе данных например:

var b = dbContext.B.FirstOrDefault()
if(b != null)
{
A.objectOfClassB = b;
//.. do something else or persist
}

Для добавления объекта коллекцииOfClassC просто добавьте его в A.listOfClassC и при добавлении «A» для db EF создаст для вас объекты БД objectOfClassC.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...