繁体   English   中英

如何在实体框架中存储层次结构

[英]How to store hierarchy in Entity Framework

看一下以下UI:

ui样机

我允许拥有某种汽车修理店的用户选择其商店提供的服务类型。 我的层次结构有5个级别,并且共有数千个条目。 选择(选中)任何技能区域都会自动选择所有子区域或子区域。 每个区域都有一个ID,顶层的ID看起来像10000,下一层的ID看起来像11000,依此类推...

我的问题:

  1. 如何通过一个支持移动,平板电脑和台式机界面的代码库来实现此UI?
  2. 如何使用实体框架表示层次结构以填充层次结构以及存储用户的选择?

该应用程序在使用SimpleMembership的ASP.Net MVC 4中。

  1. 具有一个代码库支持多个平台的最佳方法是使用ASP.NET MVC 4 WebAPI(JSON或XML)作为REST Web服务。 您可以在这里找到有关它的更多信息: http : //www.asp.net/web-api

在客户端,还有两个易于使用的解析器将JSON / XML数据反序列化为C#对象。

第二个问题似乎与实体框架抽象背后的数据库架构更相关。 就EF而言,组织数据的最佳方法可能是让类别引用其他类别,而最后一个类别引用实际的服务。 您是否熟悉数据库关系,外键等概念?

编辑:

    public class Category1{
    public string Name { get; set; }

    public virtual ICollection<Item> Items { get; set; }
}

public class Category2{
    public string Name { get; set; }

    public Category1 ParentCategory { get; set; }

    public virtual ICollection<Item> Items { get; set; }
}

public class Item{
    public string Name { get; set; }
    public decimal Price { get; set; }
}

这是一个示例,您将如何编写代码优先的EntityFramework对象。 Category2的父类型为Category1,并且两个类别都包含项的集合。 Pluralsight首先开设了有关EF代码的优秀课程 ,涵盖了所有基础知识。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM