Please consider the following tables:
TblDocument
docID, levelID, name 101, 201, AAA 102, 201, BBB 103, 201, CCC 104, 202, DDD 105, 202, EEE
TblPage
pgID, docID, pgNo 1, 101, 1 2, 102, 1 3, 102, 2 4, 103, 1 5, 104, 1 6, 105, 1
TblFieldName
fieldNameID, levelID, fieldName 1, 201, WrittenBy 2, 201, VerifiedBy 3, 201, DocumentName
TblFieldValue
docID, fieldNameID, fieldValue 101, 1, James 101, 2, Bond 101, 3, Essay on something 102, 1, Krister 102, 2, Holm 102, 3, Dame it or not!
public class Document { public int DocID {get; set;} public int LevelID {get; set;} public string Name {get; set;} public List<Field> Metadata { get { return (_fields); } set { _fields = value; } } private List<Field> _fields = new List<Field>(); } public class Field { public FieldNameID {get; set;} public FieldName {get; set;} public FieldValue {get; set;} }
Now I am trying to extract data from a database using linq, which works fine.
using (DBDataContext context = new DBDataContext()) { List<Document> doc = (from d in context.TblDocuments join p in context.TblPages on d.docID equals p.docID into dpgrp from dp in dpgrp.Where(f => f.docID == d.docID).DefaultIfEmpty() where d.levelID == 201 select new Document { DocumentID = d.docID, LevelID = d.levID }).ToList<Document>(); }
Can someone help me how can I get the values ββof the fields in the list?
using (DBDataContext context = new DBDataContext()) { List<Document> doc = (from d in context.TblDocuments join p in context.TblPages on d.docID equals p.docID into dpgrp from dp in dpgrp.Where(f => f.docID == d.docID).DefaultIfEmpty() where d.levID == 201 select new Document { DocumentID = d.docID, LevelID = d.levID Metadata = ???????