具有实体框架代码优先导航属性的ASP.Net MVC

本文关键字:属性 ASP Net MVC 导航 实体 框架 代码 | 更新日期: 2023-09-27 18:06:39

我有一个名为Service的实体,如下所示:

public class Service
{
    [Key]
    [DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
    public int serviceId { get; set; }
    public string name { get; set; }
    public string description { get; set; }
    public ServiceCategory category { get; set; }
}

类别由用户通过下拉列表选择,下拉列表中包含数据库中可用类别的id和名称。则ViewModel会将该id返回给我以进行保存。到目前为止,我做这件事的方法是转到我的存储库,获取与视图中所选类别匹配的id的类别对象,然后分配它。当然,这需要往返数据库。

我想知道,既然我已经有了id,有没有更好的方法可以让我不去数据库?

具有实体框架代码优先导航属性的ASP.Net MVC

将代码修改为

public class Service
{
[Key]
[DatabaseGeneratedAttribute(DatabaseGeneratedOption.Identity)]
public int serviceId { get; set; }
public int ServiceCategoryId {get; set;}  // Added
public string name { get; set; }
public string description { get; set; }
public ServiceCategory ServiceCategory { get; set; }
}

并填充CCD_ 2。