Want to become a Vibe Coder? Join Vibe Coding Training here
x
C# Corner
Tech
News
Videos
Forums
Jobs
Books
Events
More
Interviews
Live
Learn
Training
Career
Members
Blogs
Challenges
Certification
Contribute
Article
Blog
Video
Ebook
Interview Question
.NET
.NET Assemblies
.NET Core
.NET Standard
Active Directory
ADO.NET
Agile Development
AJAX
Alexa Skills
Algorithms in C#
Android
Angular
Architecture
ArcObject
Artificial Intelligence
ASP.NET
ASP.NET Core
Augmented Reality
Aurelia
AWS
Azure
Backbonejs
Big Data
BizTalk Server
Blockchain
Bootstrap
Bot Framework
Business
C#
C# Corner
C, C++, MFC
Career Advice
Chapters
CIO
Cloud
COBOL.NET
Coding Best Practices
Cognitive Services
COM Interop
Compact Framework
Cortana Development
Cryptocurrency
Cryptography
Crystal Reports
Current Affairs
Custom Controls
Cyber Security
Data Mining
Databases & DBA
Design Patterns & Practices
DevOps
DirectX
Dynamics CRM
Enterprise Development
Entity Framework
Error Zone
Exception Handling
Expression Studio
F#
Files, Directory, IO
Games Programming
GDI+
General
Generative Engine Optimization (GEO)
Google Cloud
Google Development
Graphics Design
Hardware
Hiring and Recruitment
HoloLens
How do I
HTML 5
Internet & Web
Internet of Things
Ionic
iOS
Java
Java and .NET
JavaScript
JQuery
JSON
JSP
Knockout
kotlin
Leadership
Learn .NET
LightSwitch
LINQ
Machine Learning
Microsoft 365
Microsoft Office
Microsoft Phone
Mobile Development
Multithreading
Nano Banana
NetBeans
Networking
Node.js
Office Development
OOP/OOD
Open Source
Operating Systems
Oracle
Outsourcing
Philosophy
PHP
Power BI
Printing in C#
Products
Progressive Web Apps
Project Management
Python
Q#
QlikView
R
React
Reports using C#
Robotics & Hardware
Ruby on Rails
Salesforce
Security
Servers
SharePoint
SignalR
Silverlight
Smart Devices
Software Testing
SQL Language
SQL Server
Startups
String in C#
Swift
TypeScript
Unity
UWP
Visual Basic .NET
Visual Studio
WCF
Wearables
Web Development
Web Services
Web3
Windows 10
Windows Controls
Windows Forms
Windows PowerShell
Windows Services
Workflow Foundation
WPF
Xamarin
XAML Standard
XML
XNA
XSharp
Register
Login
0
Answer
How to get the query in LINQ of a hierarchical database
Nymhar Quines
12y
1.9k
0
1
Active Directory
Reply
Sample data from table: Table Name - SUPPLIERS and Entity Name - dbData
RECORD_NO ID_NO FIRST_BRANCH SECOND_BRANCH POSITION
----------------------------------------------------------------
1 05100242 05100243 05100244 L
2 05200443 05100245 05100247 L
3 05100244 05100248 R
4 05100245 05100249 L
5 05100247 05100250 R
6 05100248 L
7 05100249 L
8 05100250 L
HIERARCHY ILLUSTRATION
For example in a pyramid organizational chart, how are you going to get the count of A,B and C?
A = 05100242
B = 05100243
C = 05100244
TO GET THE RESULT OF 05100242 I used
LEFT ACCOUNT
var data = dbData.SUPPLIERS.where(x=>x.ID_NO == 05100243);
LEFT
string left = data.FIRST_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == left);
RIGHT
string right = data.SECOND_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == right);
RIGHT ACCOUNT
var data2 = dbData.SUPPLIERS.where(x=>x.ID_NO == 05100244);
LEFT
string left2 = data2.FIRST_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == left2);
RIGHT
string right2 = data2.SECOND_BRANCH;
var leftbranch = dbData.where(x=>x.ID_NO == right2);
The problem is for every ID_NO, you need to get the
LEFT AND RIGHT
BRANCH
and
the result is you need to get
again
the
LEFT AND RIGHT
. YOU NEED TO REPEAT THIS DEPENDING ON HOW MANY RECORDS AVAILABLE.
THE QUESTION IS WHAT IF THERE ARE
MILLIONS
ON RECORDS?
AND RECORDS IS
INCREASING
BECAUSE EVERYDAY SUPPLIERS/DEALERS ARE CONTINUE GROWING.
Post
Reset
Cancel
Answers (
0
)
Related Discussion