Добавить данные в БД из словаря MVC Entity Framework - PullRequest
0 голосов
/ 20 января 2012

В моей системе (C #, MVC, MSSQL, Entity Framework) у меня есть словарь для разрешения на отпуск сотрудника в классе Employee.

 public Dictionary<string, EmployeeLeaveEntitlement> LeaveEntitlementDetails { get; internal set; }   

Класс EmployeeLeaveEntitlement выглядит следующим образом:

    /// <summary>
    /// Gets or sets the type of the leave.
    /// </summary>
    /// <value>The type of the leave.</value>
    public string LeaveType { get; set; }

    /// <summary>
    /// Gets or sets the entitlement.
    /// </summary>
    /// <value>The entitlement.</value>
    public double Entitlement { get; set; }

    /// <summary>
    /// Gets or sets the availed count.
    /// </summary>
    /// <value>The availed count.</value>
    public double AvailedCount { get; set; }  

Мне нужно подключить базу данных к системе,
Я уже создал контекст для сотрудника,

 public DbSet<Employee> Employees { get; set; }    

когда я запускаю систему, она создает базу данных, но нет таблицы или столбца для разрешения на отпуск. Есть ли способ добавить данные в базу данных из словаря?

Помогите мне

Спасибо за продвинутый уровень.

1 Ответ

2 голосов
/ 20 января 2012

Типы словарей не могут быть сопоставлены с Entity Framework.

Я не знаю, что вы представляете ключом словаря, но вы можете создать новый промежуточный объект с ключами Employee, EmployeeLeaveEntitlement и ключом словаря и отобразить его как коллекцию в вашем классе Employee

public class Foo
{
    [Key]
    public string DictionaryKey { get; set; }

    public string EmployeeId { get; set; }

    public string EmployeeLeaveEntitlementId { get; set; }

}

public class Employee
{
    // other properties

    public ICollection<Foo> Foos { get; set; }     
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...