簡體   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