将数据从字典MVC实体框架添加到DB

本文关键字:框架 添加 DB 实体 MVC 数据 字典 | 更新日期: 2023-09-27 18:20:47

在我的系统(C#、MVC、MSSQL、实体框架)中,我在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; }    

当我运行该系统时,它将创建数据库,但没有用于休假权利的表或列。。有没有一种方法可以将数据从字典添加到数据库中?

帮助我

高级感谢。

将数据从字典MVC实体框架添加到DB

字典类型不能用实体框架映射。

我不知道你用字典的键表示什么,但你可以用EmployeeEmployeeLeaveEntitlement和字典键创建一个新的中间实体,并将其映射为你的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; }     
}