Как приспособить значения по умолчанию для родительской таблицы В дизайне базы данных с использованием EF 6? - PullRequest
0 голосов
/ 07 ноября 2019

У меня есть следующие таблицы (на самом деле это не аксессуары, но я использую их в качестве аналогии),

- Accessories {AccessoriesId, Name, other accessory related attributes...}
  -  ClientAccessories (ClientAccessoryId, AccessoriesId, ***CLIENTID***, LastModified, CreatedDate, Username, isDeleted)
  -  EmployeeAccessories (EmployeeAccessoryId, AccessoriesId, ***EMPLOYEEID***, LastModified, CreatedDate, Username, isDeleted)

Теперь проблема в том, что каждый Сотрудник и каждый клиент получат набор аксессуаров по умолчанию, которые ониМожно также удалить / обновить, что установит флаг в определенной таблице. В будущем они также добавят свои собственные аксессуары.

Я не уверен, является ли это допустимым проектом и как начать его реализацию с кодом EF 6.

Ответы [ 2 ]

0 голосов
/ 07 ноября 2019

Я думаю, вам нужно добавить все аксессуары по умолчанию перед любой вставкой. нравится. И вы можете вызвать метод AddDefaultAccessories перед любой вставкой.

public void AddDefaultAccessories(Employee emp)
        {
            var defaultAcc1 = new Accessories();
            var defaultAcc2 = new Accessories();
            var defaultAcc3 = new Accessories();
            emp.Accessories.Add(defaultAcc1);
            emp.Accessories.Add(defaultAcc2);
            emp.Accessories.Add(defaultAcc3);
        }

0 голосов
/ 07 ноября 2019

где бы вы ни хотели добавить клиента, вы можете написать

var client = new client
{
//assign your attribute
ClientAccessories = new ClientAccessories[] 
                    {   
                            new ClientAccessories {
                                //....
                                AccessoriesId = //id of dafualt accessories
                            },
                            new ClientAccessories {
                                //....
                                AccessoriesId = //id of dafualt accessories
                            }
                            //...
                    }
//.....
}

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